性能调优技能用于优化 Linux 系统性能,覆盖内核参数调优、I/O 调度器选择、内存管理、CPU governor 配置与基准测试,并强调方法论、实际 sysctl 设置与工具化验证。
适用场景 服务器出现高延迟、吞吐瓶颈或资源耗尽;为高流量事件或负载测试做基础设施准备;为数据库服务器、Web 服务器或应用主机做生产环境调优;判断瓶颈在 CPU、内存、磁盘 I/O 还是网络;在变更前后建立基线与对比指标;为容器、虚拟机或裸机配置内核参数。
前置条件 目标系统具备 root 或 sudo 权限;安装 sysstat(提供 sar、iostat、mpstat);CPU 分析需 linux-tools 或 perf;基准工具包括 fio(磁盘)、sysbench(CPU/内存)、iperf3(网络);在改动前采集基线指标。
分析方法论 按顺序执行:采集基线、识别瓶颈、只改一个参数、复测影响、记录变更与效果、保留或回滚,再迭代。
监控工具 提供 CPU 与进程(top、htop、mpstat -P ALL 2、pidstat -u 2)、内存(free -h、vmstat 2)、磁盘 I/O(iostat -xz 2、iotop -oP)、网络(sar -n DEV 2、ss -s、nstat)以及 perf 性能剖析(perf top、perf stat、perf record、perf report)的命令示例,并给出一次性检查 CPU、内存、磁盘、网络的一行命令。文档明确所有调优值与配置都是假设,不是通用安全预设,需对照内核与驱动验证,记录原值与可测试的回滚方案,一次只改一项,不要用 sysctl --system 或持久化服务/规则编辑作为基线检查。
sysctl 调优 网络部分涵盖 socket 收发缓冲区上限与默认值、TCP 缓冲区自动调整、连接 backlog、TCP fast open、TIME_WAIT 复用、临时端口范围、keepalive、禁用空闲后慢启动,以及 fq + BBR 拥塞控制。内存部分涵盖 swappiness(现代内核可能支持 0-200,普通服务器 10、数据库 1)、脏页比例、inotify 上限、fs.file-max、overcommit 策略,以及按需禁用透明大页。给出 sysctl --system、-p、-w 应用与验证方式。
I/O 调度与 CPU 说明查看与临时设置调度器(NVMe 用 none、SATA SSD/HDD 用 mq-deadline、桌面用 bfq),通过 udev 规则持久化,用 blockdev 调整预读,启用 fstrim 定时器。CPU governor 部分展示可用与当前 governor 的查看、批量切换到 performance、使用 cpupower、通过 systemd 服务持久化,以及在需要稳定延迟时禁用 turbo。
基准测试 fio 提供顺序读/写、4K 随机读/写、70/30 混合读写示例,并警示写测试会消耗容量并干扰工作负载,须使用专用临时目录与有界负载,禁止指向裸设备、数据库文件或用户数据。sysbench 用于 CPU 与内存基准,iperf3 用于 TCP/UDP 与反向模式网络测试,并要求使用授权端点、控制流量与时间预算、测试后关闭服务端。
参考配置与排查 给出 Web 服务器(nginx/Apache)与数据库服务器(PostgreSQL/MySQL)的 sysctl 参考片段,以及高 CPU、低 CPU 高负载、频繁换页、磁盘延迟尖峰、打开文件过多、网络吞吐偏低、高负载下应用超时、延迟不稳定等常见症状的诊断命令与常见处理方向,并列出相关技能(linux-administration、systemd-services、block-storage、nfs-storage)。
限制 基础设施命令可能中断服务,变更前须确认目标主机与范围并准备备份或快照;该内容为文档导入,未附带上游脚本与模板。