当前位置: 首页 > news >正文

自建网站公司ip子域名二级域名解析

自建网站公司,ip子域名二级域名解析,做c语言的题目的网站,设计师网站pin目录 前言 一、CPU 资源调优:提升调度效率与资源分配 1.1 调整进程优先级(nice 值) 1.2 设置 CPU 亲和力(taskset) 1.3 CPU 信息查询与核心数计算 1.4 用 vmstat 分析 CPU 瓶颈 二、磁盘 I/O 调优:提…

目录

前言

一、CPU 资源调优:提升调度效率与资源分配

1.1 调整进程优先级(nice 值)

1.2 设置 CPU 亲和力(taskset)

1.3 CPU 信息查询与核心数计算

1.4 用 vmstat 分析 CPU 瓶颈

二、磁盘 I/O 调优:提升读写效率与资源限制

2.1 调整文件描述符与进程数限制(ulimit)

2.2 磁盘读写速度测试

三、内核参数调优:增强稳定性与抗攻击能力

3.1 防御 SYN 洪水攻击

3.2 其他核心参数说明

四、网络调优:网卡绑定(Bonding)提升可用性

4.1 常用模式

4.2 主备模式配置(nmcli 命令)

五、总结:调优场景与最佳实践


前言

在高并发、高负载的 Linux 系统环境中,性能瓶颈往往隐藏在 CPU 调度、磁盘 I/O、网络传输或内核参数配置中。合理的调优不仅能提升系统稳定性,更能充分发挥硬件资源潜力。本文聚焦 CPU、磁盘 I/O、网络及内核参数四大核心模块,通过实战命令与配置案例,详解调优逻辑与落地方法,帮助运维人员快速定位并解决性能问题。

一、CPU 资源调优:提升调度效率与资源分配

CPU 是系统处理任务的核心,其调度策略与资源分配直接影响响应速度。以下调优手段可精准优化 CPU 利用率。

1.1 调整进程优先级(nice 值)

进程的 nice 值决定了 CPU 调度的优先级,通过调整该值可实现资源的倾斜分配。

vim后不退出,在开一个页面输入下面的命令:

  • 取值范围:-20(最高优先级)~19(最低优先级),默认值为 0。

  • 核心逻辑

    • nice 值越小,进程优先级越高,获得的 CPU 时间片越多;

    • nice 值越大,进程优先级越低,仅在系统空闲时获得资源。

  • 实战命令

    # 启动进程时设置优先级(如给 vim 较高优先级)
    nice -n -5 vim a.txt# 修改运行中进程的优先级(如降低 PID 为 24318 的进程优先级)
    renice -n 6 24318
    
  • 适用场景

    • 给核心服务(如数据库、Web 服务器)设置较低 nice 值(如 -10),确保高优先级;

    • 给后台任务(如日志备份、数据同步)设置较高 nice 值(如 15),避免占用核心资源。

1.2 设置 CPU 亲和力(taskset)

将进程绑定到特定 CPU 核心,可减少进程在多核心间切换的开销(上下文切换),提升缓存利用率。

  • 安装工具yum install util-linux(通常系统默认预装)。

  • 实战命令

    # 启动进程时绑定到 CPU0
    taskset -c 0 vim a.txt# 查看进程(PID 20146)的 CPU 绑定情况
    taskset -cp 20146# 绑定进程到 CPU1 和 CPU3
    taskset -c 1,3 vim b.txt
    
  • 适用场景

    • 单线程程序(如某些脚本)绑定到单个核心,避免多核心切换损耗;

    • 多线程服务(如 Nginx)按核心分组绑定,提升缓存命中率。

1.3 CPU 信息查询与核心数计算

通过 /proc/cpuinfo 可获取 CPU 硬件细节,为调优提供硬件基础数据。

  • 关键命令

    # 查看物理 CPU 数量
    cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l# 查看逻辑 CPU 数量(含超线程)
    cat /proc/cpuinfo | grep "processor" | sort -u | wc -l# 查看单物理 CPU 的核心数
    cat /proc/cpuinfo | grep "cpu cores" | sort | uniq
    
[root@localhost zz]# cat /proc/cpuinfo
processor	: 0                         #cpu核心编号
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i3-7020U CPU @ 2.30GHz
stepping	: 9
microcode	: 0xf0
cpu MHz		: 2304.003
cache size	: 3072 KB
physical id	: 0           #物理CPU编号
siblings	: 1
core id		: 0           #物理核心编号
cpu cores	: 1           #单个物理cpu的物理核心数
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
bogomips	: 4608.00
clflush size	: 64
cache_alignment	: 64
address sizes	: 45 bits physical, 48 bits virtual
power management:
[root@localhost zz]# cat /proc/cpuinfo | grep "physical id" | sort |uniq
physical id	: 0# cat /proc/cpuinfo:读取 /proc/cpuinfo 文件(系统 CPU 信息的虚拟文件)。
# grep "physical id":筛选包含 "physical id" 的行(physical id 表示物理 CPU 的编号)。
# sort:对筛选结果排序。
# uniq:去除重复的行(只保留唯一值)。
# 输出:physical id : 0    表示系统中只有 1 个物理 CPU(编号为 0,通常从 0 开始计数)。[root@localhost zz]# cat /proc/cpuinfo  | grep "processor" | sort -u | wc -l
1# grep "processor":筛选包含 "processor" 的行(processor 表示逻辑 CPU 的编号)。
# sort -u:排序并去重(-u 等同于 uniq)。
# wc -l:统计行数(即逻辑 CPU 的数量)。
# 输出:1    表示系统中共有 1 个逻辑 CPU(如果开启超线程,逻辑 CPU 数量会大于物理核心数)[root@localhost zz]# cat /proc/cpuinfo | grep "cpu cores" | sort |uniq
cpu cores	: 1# grep "cpu cores":筛选包含 "cpu cores" 的行(cpu cores 表示单个物理 CPU 的核心数)。
# 输出:cpu cores : 1   表示这个物理 CPU 有 1 个核心(核心数是物理 CPU 上的硬件处理单元数量)。
  • 核心数解读

    • 物理 CPU 数:服务器插槽上的实际 CPU 数量;

    • 逻辑 CPU 数:物理核心数 × 超线程数(如 4 核 8 线程,逻辑 CPU 为 8);

    • 调优依据:进程数建议不超过逻辑 CPU 数的 2~3 倍,避免调度拥堵。

1.4 用 vmstat 分析 CPU 瓶颈

vmstat 可实时监控系统整体状态,快速定位 CPU 或 I/O 瓶颈。

  • 关键指标

    • r:运行队列长度(持续 > 逻辑 CPU 数 × 3 → CPU 过载);

    • us:用户态 CPU 占比(高值说明应用程序消耗大,如 Java 进程);

    • sy:内核态 CPU 占比(高值可能是系统调用频繁,如频繁读写文件);

    • wa:CPU 等待 I/O 时间占比(>20% → 磁盘 I/O 成为瓶颈)。

  • 实战场景

    • 高并发 Web 请求:r 增大、us 升高 → 需优化应用(如增加缓存、异步处理);

    • 大文件复制:wa 升高、bi/bo 增大 → 需优化磁盘(如使用 RAID、SSD)。

二、磁盘 I/O 调优:提升读写效率与资源限制

磁盘 I/O 是系统性能的常见瓶颈,尤其在数据库、文件服务器等场景中,需通过资源限制与性能测试优化。

2.1 调整文件描述符与进程数限制(ulimit)

Linux 中 “一切皆文件”(包括网络连接),文件描述符与进程数限制过严会导致服务异常(如 “too many open files”)。

  • 配置文件/etc/security/limits.conf(永久生效)。

  • 常用配置

    # 对所有用户生效(* 表示所有用户)
    * soft nofile 1024000  # 软限制:超过警告,不强制阻止
    * hard nofile 1024000  # 硬限制:绝对不能超过
    * soft nproc 65535     # 进程数软限制
    * hard nproc 65535     # 进程数硬限制
    
  • 临时修改

    ulimit -n 10000  # 临时调整文件描述符软限制
    
  • 验证命令

    ulimit -n    # 查看文件描述符软限制
    ulimit -Hn   # 查看文件描述符硬限制
    ulimit -u    # 查看进程数限制
    

2.2 磁盘读写速度测试

通过工具测试磁盘性能,为调优提供基准数据(如选择合适的文件系统、调整块大小)。

  • 读速度测试(hdparm)

    # 直接读取物理磁盘(跳过缓存),测试真实读速度
    hdparm -t --direct /dev/sda
    
  • 写速度测试(dd)

    # 生成 2GB 测试文件,直接写入磁盘(跳过缓存)
    dd if=/dev/zero of=/test.dbf bs=1M count=2000 oflag=direct# 测试写入时间(含系统缓存)
    time dd if=/dev/zero of=/test.dbf bs=1M count=200
    
  • 结果解读

    • 机械硬盘:读速约 100~200MB/s,写速约 80~150MB/s;

    • SSD:读速约 300~500MB/s,写速约 200~400MB/s;

    • 若实测速度远低于硬件标称值,需检查磁盘健康状态(如 smartctl)或文件系统配置。

三、内核参数调优:增强稳定性与抗攻击能力

内核参数决定了系统的网络、内存、I/O 等核心行为,合理配置可显著提升系统性能与安全性。

3.1 防御 SYN 洪水攻击

SYN 洪水攻击通过发送大量半连接请求耗尽服务器资源,需通过内核参数缓解。

  • 配置文件/etc/sysctl.conf

  • 关键配置

    # 限制 SYN 重试次数,减少半连接队列占用
    net.ipv4.tcp_synack_retries = 0
    net.ipv4.tcp_syn_retries = 1# 增大半连接队列容量
    net.ipv4.tcp_max_syn_backlog = 20480# 启用 SYN Cookie(用 Cookie 验证替代队列存储)
    net.ipv4.tcp_syncookies = 1# 复用 TIME_WAIT 状态的连接
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_tw_recycle = 1# 缩短 TIME_WAIT 超时时间(默认 60s)
    net.ipv4.tcp_fin_timeout = 10# 系统最大文件句柄数
    fs.file-max = 819200# 最大连接队列长度
    net.core.somaxconn = 65535
    
  • 生效配置sysctl -p

3.2 其他核心参数说明

参数作用推荐值
net.core.rmem_max最大接收缓冲区大小(字节)1024123000
net.core.wmem_max最大发送缓冲区大小(字节)16777216
net.ipv4.ip_local_port_range本地端口范围(避免端口耗尽)10000 65535
net.core.netdev_max_backlog网络设备接收队列长度(高并发场景)165536

四、网络调优:网卡绑定(Bonding)提升可用性

网卡绑定(Bonding)将多块物理网卡虚拟为一块逻辑网卡,实现负载均衡或主备冗余,提升网络可用性。

4.1 常用模式

  • mode=0(负载均衡):流量分散到多网卡,需交换机配置链路聚合;

  • mode=1(主备模式):默认使用主网卡,故障时自动切换到备网卡(常用);

  • mode=4(LACP 聚合):基于 IEEE 802.3ad 协议,动态协商负载均衡(需交换机支持)。

4.2 主备模式配置(nmcli 命令)

# 创建 bond 接口(bond0),主备模式,监测间隔 100ms
nmcli connection add type bond ifname bond0 con-name bond0 miimon 100 mode active-backup primary ens33 ip4 192.168.1.63/24# 添加从网卡(ens33)到 bond0
nmcli connection add type bond-slave ifname ens33 master bond0# 添加从网卡(ens38)到 bond0
nmcli connection add type bond-slave ifname ens38 master bond0
  • 验证配置cat /proc/net/bonding/bond0(查看绑定状态及从网卡信息)。

五、总结:调优场景与最佳实践

调优方向核心工具 / 配置文件功能作用关键操作 / 参数说明
一、CPU 调优cat /proc/cpuinfo查看 CPU 硬件基础信息,为调度策略提供依据直接执行命令,可获取 CPU 核心数、型号、架构、缓存大小等信息
nice调整进程优先级,分配 CPU 资源权重格式:nice -n [优先级值] 进程名(值范围 -20~19,值越小,进程优先级越高)
taskset设置 CPU 亲和力,绑定进程到指定核心,减少上下文切换开销格式:taskset -c [核心编号] 进程ID(如 taskset -c 0-1 1234 绑定进程 1234 到 0、1 核)
vmstat分析系统整体瓶颈,重点监控 CPU 状态直接执行命令,可查看 CPU 空闲率(id)、上下文切换次数(cs)、等待 I/O 时间(wa)等
二、磁盘 I/O 调优ulimit + 配置文件限制用户进程资源使用上限,避免单一进程过度占用 I/O 资源配置文件:/etc/security/limits.conf 或 /etc/security/limits.d/ 下文件;常用限制:最大文件句柄数(nofile)
hdparm测试磁盘读写速度,评估磁盘硬件性能基线常用命令:hdparm -t /dev/sda(测试 /dev/sda 磁盘的读取速度)
time统计命令 / 任务执行时间,验证 I/O 调优效果格式:time [待执行命令](如 time dd if=/dev/zero of=/tmp/test bs=1G count=1,输出任务耗时)
三、内核调优/etc/sysctl.conf(配置文件)优化内核参数,强化系统安全与高并发能力需执行 sysctl -p 使配置生效
-防御 SYN 洪水攻击tcp_syncookies=1(启用 SYN Cookie)、tcp_synack_retries=0(不重发 SYN+ACK,快速释放半连接)
-支撑高并发请求file-max=[数值](提升系统最大文件句柄数)、somaxconn=[数值](扩大 TCP 连接队列长度)

综上,Linux 系统调优需结合硬件特性与业务需求,通过工具与参数的协同配置,串联 “CPU 资源分配 - 磁盘 I/O 管控 - 内核安全优化” 全流程,最终实现系统性能与稳定性的双重提升。

http://www.dtcms.com/a/565358.html

相关文章:

  • 搭建出属于你自己的精彩网站!
  • 3DXML 转 3DXML 实操手册:从本地软件处理到在线工具推荐(含迪威模型网教程)
  • git小乌龟如何单个文件回退及整个版本回退
  • 班级同学录网站建设iis网站301重定向
  • 高性能负载均衡器HAProxy全解析
  • 《投资-151》PEG指标,衡量股票估值是否合理、特别是评估成长股的一个关键工具。
  • 广东省省考备考(第一百四十天11.3)——言语、判断推理(强化训练)
  • leetcode前缀和(C++)
  • 冬创网站建设培训中心高端网站建设公司有哪些
  • java面试:有了解过RocketMq架构么?详细讲解一下
  • JAVA国际版同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5
  • Milvus:数据字段-主字段和自动识别(五)
  • 【深入浅出PyTorch】--8.1.PyTorch生态--torchvision
  • Blender新手入门,超详细!!!
  • Milvus:数据库层操作详解(二)
  • Blender入门学习09 - 制作动画
  • 网站建设终身不用维护网络推广主要内容
  • 金融知识详解:隔日差错处理机制与银行实战场景
  • 网站运营编辑浙江久天建设有限公司网站
  • 做网站销售说辞有赞商城官网登录
  • MATLAB实现基于RPCA的图像稀疏低秩分解
  • 象山企业门户网站建设扬州高端网站制作
  • 服务器网站建设维护app制作定制开发
  • php企业网站开发方案服装外贸网站建设
  • 【Go】--互斥锁和读写锁
  • 《从适配器本质到面试题:一文掌握 C++ 栈、队列与优先级队列核心》
  • 心理咨询网站模板做网站手机
  • 光学3D表面轮廓仪中Rz代表什么?如何精准测量Rz?
  • ps做登录网站北京网站制作工作室
  • git rebase提交