CentOS 性能测试实操指南
一 测试准备与监控
yum install -y sysstat stress-ng fio iperf3(部分环境可能需要 EPEL 源)。uptime、topvmstat 1、iostat -x 1、sar -u 1 10、sar -d 1 10二 CPU 与内存压力测试
stress-ng --cpu $(nproc) --timeout 300sstress-ng --cpu 4 --timeout 300sstress-ng --cpu $(nproc) --cpu-load 50stress-ng --cpu $(nproc) --cpu-method fftTOTAL_MEM=$(free -m | awk '/^Mem:/{print int($2 * 0.8)}');stress-ng --vm 1 --vm-bytes ${TOTAL_MEM}M --timeout 300s--vm-method memset/stream/malloc;可加 --verify 检测内存错误。三 磁盘 I/O 基准测试
fio --ioengine=libaio --bs=4k --direct=1 --rw=randread --filename=/mnt/test/fiofile --size=1G --runtime=60 --numjobs=1 --iodepth=1 --name=randreadfio --ioengine=libaio --bs=1M --direct=1 --rw=write --filename=/mnt/test/fiofile --size=1G --runtime=60 --numjobs=1 --iodepth=1 --name=seqwritefio --ioengine=libaio --bs=1M --direct=1 --rw=read --filename=/mnt/test/fiofile --size=1G --runtime=60 --numjobs=1 --iodepth=1 --name=seqread--direct=1(绕过 page cache)、--bs(块大小)、--iodepth(队列深度)、--numjobs(并发)、--runtime(持续时间)。dd if=/dev/zero of=/tmp/testfile bs=64k count=4k oflag=dsynchdparm -I /dev/sda、hdparm -Tt /dev/sdaiostat -x 与 sar -d 关注 await、svctm、avgqu-sz、%util 等,判断延迟与设备饱和情况。四 网络带宽与延迟测试
iperf3 -siperf3 -c 192.0.2.10(可加 -P 4 并发流、-t 30 时长、-u 测 UDP)五 结果判读与优化建议
vmstat 的 r/b 队列与 sar -u 的 %idle 判定是否需扩容或优化热点路径。sar -r 的 %commit > 100%,说明内存紧张;考虑增加内存或优化内存占用。iostat -x 中 %util ≈ 100% 表示设备饱和;await 远高于 svctm 表示队列等待长;结合 sar -d 的 avgqu-sz 与业务访问模式(随机/顺序、块大小)选择更合适的存储与调度策略。iperf3 带宽达不到预期时,排查网卡双工/速率、MTU、交换机端口、并发流与协议(TCP/UDP)差异。