CentOS Stream 8性能测试方法及工具指南
在CentOS Stream 8上进行性能测试,需覆盖CPU、内存、磁盘I/O、网络等核心维度,结合专用工具模拟真实负载,评估系统性能瓶颈。以下是具体操作流程及注意事项:
通过计算圆周率π的精度(如5000位),测试CPU的单线程计算能力与稳定性。
yum -y install bc(bc为数学计算工具);time echo "scale=5000;4*a(1)" | bc -l -q;real时间(实际耗时)越短,CPU单线程性能越好。多线程基准测试工具,支持CPU、内存、磁盘等多维度测试,适合综合评估。
yum -y install sysbench;sysbench cpu --threads=4 --events=10000 --time=0 run(--threads指定线程数,--events指定计算事件数);total time(总耗时)越短,CPU多线程处理能力越强。基于Unix系统的综合基准测试工具,涵盖CPU、文件I/O、Shell脚本等指标,适合快速评估系统整体性能。
yum install epel-release -y),再通过源码编译安装;./Run(默认运行所有测试项);测试内存的读写速度与带宽,反映内存子系统性能。
sysbench memory --threads=4 --memory=1G run(--threads指定线程数,--memory指定测试内存大小);Total operations(总操作数)越多、Transfer rate(传输速率)越大,内存性能越好。专业内存带宽测试工具,通过四种操作(Copy、Scale、Add、Triad)评估内存带宽。
yum -y install gcc gcc-gfortran git
git clone https://github.com/jeffhammond/STREAM.git
cd STREAM
make
export OMP_NUM_THREADS=1 # 设置线程数(根据CPU核心数调整)
./stream_c.exe
针对Intel CPU优化的内存延迟测试工具,适合需要低延迟的应用场景(如数据库)。
./mlc即可生成内存延迟报告。最灵活的磁盘I/O测试工具,支持随机读/写、顺序读/写、混合负载等多种场景,适合模拟真实应用负载。
yum -y install fio;fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=randread --filename=/home/randread.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1G;fio --ioengine=libaio --bs=4k --direct=1 --thread --time_based --rw=read --filename=/home/read.txt --runtime=60 --numjobs=1 --iodepth=1 --group_reporting --name=randread-dep1 --size=1G;IOPS(每秒输入/输出操作数)越高、BW(带宽,MB/s)越大,磁盘I/O性能越好。简单易用的磁盘读写速度测试工具,适合快速评估磁盘基础性能。
dd if=/dev/zero of=/home/testfile bs=1G count=1 oflag=direct(oflag=direct绕过缓存,测试真实磁盘速度);dd if=/home/testfile of=/dev/null bs=1G count=1 iflag=direct;bytes/sec(字节/秒)越大,磁盘速度越快。开源网络性能测试工具,支持带宽、延迟、丢包率等指标测试,适合评估网络链路质量。
yum -y install iperf3 && iperf3 -s;yum -y install iperf3 && iperf3 -c <服务端IP> -t 30(-t指定测试时间,单位秒);Bandwidth(带宽,Mbps/Gbps)越高、Jitter(抖动)越小、Lost%(丢包率)越低,网络性能越好。基于命令行的网络速度测试工具,适合快速检查互联网接入带宽。
yum -y install speedtest-cli && speedtest;Download(下载速度)、Upload(上传速度)数值越大,网络接入性能越好。top、vmstat、iostat等工具监控系统资源使用情况(如CPU利用率、内存占用、磁盘I/O等待时间),确保测试结果的准确性。