温馨提示×

CentOS从零开始优化系统性能的策略

小樊
44
2025-12-31 11:05:38
栏目: 智能运维

从零开始优化 CentOS 系统性能

一 基线评估与监控

  • 建立性能基线:记录CPU利用率、负载、内存使用、磁盘 IOPS/吞吐、网络带宽与丢包/重传等关键指标,便于评估优化成效。
  • 常用工具与用途:
    • 系统资源:top/htop、vmstat、iostat -x 1、sar -n DEV 1(CPU/内存/IO/网络趋势)
    • 连接与端口:ss -s、netstat -s、lsof -nP
    • 块设备与文件系统:lsblk、blockdev --getra /dev/sdX、cat /sys/block/sdX/queue/scheduler
    • 调优前后对比:保存快照,观察p95/p99 延迟、错误率、队列长度变化。

二 系统层优化

  • 更新与精简
    • 保持系统与软件包为最新稳定版:执行yum update -y;定期yum clean all清理缓存;如无图形需求,优先轻量桌面或无 GUI
  • 启动与自启
    • 关闭不必要的服务与自启项:如bluetooth(示例:systemctl disable --now bluetooth),减少常驻占用。
  • 资源限制
    • 提升文件描述符上限:编辑**/etc/security/limits.conf/etc/sysctl.conffs.file-max**,并验证ulimit -n;服务(如数据库、Nginx)按需单独配置。
  • 透明大页 THP
    • 数据库/低延迟场景,建议将 THP 设为madvise或关闭,避免合并/分裂带来的CPU抖动与延迟波动。
  • CPU 电源策略
    • 对延迟敏感型负载,将 CPU governor设为performance(示例:cpupower frequency-set -g performance)。
  • NUMA 策略
    • 若应用对跨 NUMA 访问敏感且出现内存充足却用 swap等异常,可在BIOS 或内核启动参数层面评估关闭 NUMA;更推荐绑定进程到指定 NUMA node以稳定性能。

三 存储与文件系统优化

  • 调度器选择
    • 机械盘优先deadlineSSD/NVMe优先noop(或 mq-deadline);查看/调整:cat /sys/block/sdX/queue/scheduler
  • 队列与预读
    • 提升nr_requests(如 128→512)增强队列深度;顺序读场景增大read_ahead_kb(如 128→4096 或更高)。
  • 挂载选项
    • 通用:noatime,nodiratime减少元数据写入;数据库/大文件场景优先XFS;SSD 建议启用discard/TRIM(fstab 挂载参数)。
  • 缓存与回刷
    • 合理设置vm.swappiness(如10用于数据库/缓存型负载);根据负载调优dirty_ratio/dirty_background_ratio,避免前台写入抖动。
  • LVM 与缓存
    • 结合LVM Cache/BcacheSSD 加速 HDD;扩容后按文件系统类型执行xfs_growfs/resize2fs

四 网络优化

  • 连接与端口
    • 扩大本地端口范围net.ipv4.ip_local_port_range = 1024 65535
    • 增大listen 队列与内核接收队列net.core.somaxconnnet.ipv4.tcp_max_syn_backlognet.core.netdev_max_backlog
    • 开启SYN Cookiesnet.ipv4.tcp_syncookies = 1
    • 优化TIME_WAIT:启用net.ipv4.tcp_tw_reuse = 1;谨慎使用tcp_tw_recycle(在NAT/负载均衡下易异常,且4.12+ 已移除);按需设置net.ipv4.tcp_max_tw_buckets
  • 缓冲区与内存
    • 提升套接字缓冲net.core.rmem_default/wmem_defaultnet.core.rmem_max/wmem_max
    • 调整TCP 内存阈值net.ipv4.tcp_mem
    • 加速死连接探测net.ipv4.tcp_keepalive_time / tcp_keepalive_intvl / tcp_keepalive_probes
    • 提升丢包恢复net.ipv4.tcp_sack = 1;在部分场景可关闭tcp_timestamps降低开销(高精度 RTT 需评估)。
  • 网卡与队列
    • 启用多队列 RPS/RFSRSS分散软中断;结合ethtool -L/-G调整RX/TX 队列与中断绑定,提升高并发收包能力。

五 应用与服务优化与变更管控

  • 服务参数
    • Web/反向代理:优化worker 进程数、连接复用、keepalive、超时;数据库:合理设置缓冲池、连接数、日志与刷盘策略;中间件:调整队列、线程池、GC/缓存
  • 防火墙与安全
    • 不建议直接关闭防火墙;应最小化放行必要端口与来源,减少攻击面同时保持性能。
  • SELinux
    • 不建议长期禁用 SELinux;优先配置策略/布尔值解决权限问题,必要时仅permissive短时排障。
  • 变更流程
    • 任何优化前备份关键配置与数据;遵循灰度/回滚;先在测试环境验证;优化后持续监控记录差异,按指标逐步迭代。

0