温馨提示×

CentOS Stream 8的性能优化技巧

小樊
36
2025-12-29 05:44:21
栏目: 智能运维

CentOS Stream 8 性能优化要点

一 基础与软件源优化

  • 保持系统为最新稳定版本:执行 dnf update -y,及时获取性能修复与安全补丁。
  • 使用国内镜像源加速:备份并替换 /etc/yum.repos.d/CentOS-*.repo,将 baseurl/mirrorlist 指向国内镜像;随后执行 dnf clean all && dnf makecache
  • 精简开机与常驻服务:用 systemctl list-unit-files --type=service 查看,按需在测试环境逐步禁用非必要服务(如 postfix 等),避免一次性大规模变更。
  • 时间同步:安装并启用 chronyd(或 ntpd),保证时钟准确,减少因时间漂移导致的连接与日志问题。
  • 安全提示:不要为了“性能”而长期关闭 firewalld;如必须临时调整,务必在变更窗口内恢复并做好访问控制。

二 内核与网络调优

  • 减少 Swap 依赖:将 vm.swappiness 设为 10–30(视内存与工作负载而定),降低内核过早换出内存的概率。
  • 典型 TCP 栈优化(写入 /etc/sysctl.conf 后执行 sysctl -p 生效):
    • 连接复用与回收:net.ipv4.tcp_tw_reuse=1;在现代内核上避免使用已废弃的 net.ipv4.tcp_tw_recycle
    • 超时与保活:net.ipv4.tcp_fin_timeout=30net.ipv4.tcp_keepalive_time=1200
    • 端口与队列:net.ipv4.ip_local_port_range=“1024 65535”net.ipv4.tcp_max_syn_backlog=8192net.core.somaxconn=65535net.core.netdev_max_backlog=2000
    • 稳定性:net.ipv4.tcp_syncookies=1net.ipv4.tcp_max_orphans=32768
  • 高级网络:启用 net.ipv4.tcp_window_scaling=1 提升高带宽时延积场景的吞吐;在具备条件时启用 BBR 拥塞控制(需内核支持)。
  • 队列与网卡:结合业务类型选择合适的 I/O 调度器(如 deadline/noop),并为支持多队列的 NIC 配置 RSS/多队列 与全双工模式。

三 存储与文件系统优化

  • 文件系统选择:大文件与高吞吐场景优先 XFS;通用兼容场景选 Ext4
  • 挂载选项:为数据盘添加 noatime,nodiratime 减少元数据写入;根据场景评估 barrierdata=writeback(权衡一致性与性能)。
  • I/O 调度器:机械盘可用 deadline;SSD/NVMe 可用 noopnone(由设备自身队列管理);通过 echo deadline > /sys/block/sda/queue/scheduler 临时设置并写入持久化方案。
  • 缓存与加速:在 HDD 场景可部署 LVM CacheBcache 提升读写性能;确保存储后端健康(对齐、TRIM、队列深度合理)。

四 资源管理与监控

  • 资源限制:使用 cgroupsnice/renice 控制关键/非关键进程的 CPU/内存 占用,避免单进程“饿死”其他业务。
  • 实时监控:用 top/vmstat/iostat 快速定位瓶颈;必要时上收至 Prometheus + Grafana 做长期可视化与告警。
  • 验证与回归:优化前后进行压力与吞吐测试(如 iperf3 测网络、fio 测磁盘),以数据评估收益并回滚异常变更。

五 安全与版本策略

  • SELinux:生产环境建议保持 enforcing,通过策略精细化放行而非直接改为 permissive/disabled;确需放宽时仅作阶段性验证。
  • 版本与支持:有资料指出 CentOS Stream 8 已进入 EOL(终止维护) 阶段,建议规划升级至 CentOS Stream 9Rocky Linux 9 以获得长期支持与更新;所有优化变更务必先在测试环境验证并备份关键配置。

0