CentOS 性能测试实操指南
一 测试准备与监控基线
sudo yum install -y epel-release && sudo yum install -y sysstat fio sysbench stress iperf3uptime、top、mpstat -P ALL 1 3(关注 %idle、%iowait、%sys)free -hiostat -dmx 1 3(关注 %util、await、avgqu-sz)、df -hsar -n DEV 1 10(关注 rxkB/s、txkB/s)sar -o sar.out 1 60 记录,sar -f sar.out 回放分析。二 CPU 与内存测试
sysbench cpu --cpu-max-prime=100000 --threads=$(nproc) run(按 CPU 核心数并发)stress --cpu $(nproc) --timeout 600(持续 10 分钟 满载)sysbench memory --memory-block-size=1K --memory-total-size=4G --memory-access-mode=rnd --threads=$(nproc) runstress --vm 2 --vm-bytes 2G --timeout 600(2 个 worker,各分配 2GB 内存)mpstat 看 %idle 是否接近 0%、%iowait 是否异常升高;pidstat -u 3 5 定位高占用进程。三 磁盘 I O 测试
fio --ioengine=libaio --bs=4k --direct=1 --thread --time-based --rw=randread --filename=/tmp/fio-randread --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread --size=1Gfio --ioengine=libaio --bs=4k --direct=1 --thread --time-based --rw=write --filename=/tmp/fio-seqwrite --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=seqwrite --size=1Gdd if=/dev/zero of=/tmp/testfile bs=64k count=4k oflag=dsynchdparm -Tt /dev/sdaiostat -dmx 1 看 %util 是否接近 100%、await 是否过高;结合 sar -d 做历史对比。四 网络性能测试
iperf3 -s -p 5201iperf3 -c 192.0.2.10 -t 30 -P 4(对端 IP 192.0.2.10,测试 30 秒,4 并发流)sar -n DEV 1 观察 rxkB/s、txkB/s 是否达到链路上限;关注丢包/重传(服务端/客户端摘要)。五 结果分析与报告建议
echo 3 > /proc/sys/vm/drop_caches,仅在非生产环境)、挂载选项与生产一致、避免后台任务干扰;同一套参数至少跑 3 次 取中位数。%idle 低、mpstat 中 %sys 高可能意味着系统调用/中断密集;free -h 看是否触发 Swap;iostat 的 %util 持续接近 100% 常为瓶颈,await 高说明队列与设备服务时间长;sar -n DEV 吞吐达上限且波动小为佳,关注重传与抖动。sar/iostat 输出)、关键指标与结论、瓶颈定位与优化建议。