CPU测试
使用sysbench对CPU进行压力测试。sysbench是一个多用途的基准测试工具,用于评估计算机系统的性能。sysbench提供了多种测试模式,包括CPU性能、文件IO性能、调度程序性能、内存分配和传输速度等。它可以模拟多线程和多客户端的负载,并测量系统在这些负载下的性能表现。
1.安装sysbench
#Build构建依赖安装
yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel openssl-devel
yum -y install postgresql-devel
#源码下载
git clone https://github.com/akopytov/sysbench.git
#生成配置工具
autogen.sh
#编译安装
make -j
make install
2.CPU性能测试
sysbench cpu --cpu-max-prime=20000 --threads=256 run
cpu: 表示要运行CPU性能测试模式。
--cpu-max-prime=20000: 指定了质数计算的最大值为20000。该参数用于指定在测试期间计算质数的范围,较大的值将导致更长的计算时间。
--threads=256: 指定了使用的线程数为256。该参数用于指定并发执行质数计算的线程数量,较高的值可以模拟更大的并发负载。
#另起终端查看
sar -u 1 1
命令各参数解释如下:
sar: 是System Activity Reporter (SAR) 工具的命令,用于收集和报告系统性能统计信息。
-u: 是sar命令的选项之一,用于指定要报告的CPU使用情况。
1: 表示报告的时间间隔,这里设置为1秒。
1: 表示报告的次数,这里设置为1次。
3.测试结果
CPU使用率:
内存测试
使用stream测试工具对内存性能进行测试。Stream是一种流式内存带宽基准测试工具,用于评估计算机系统的内存性能。它被设计用来测量内存系统的带宽,特别是对于连续的内存访问模式。通过执行一系列内存操作,stream能够测量内存的读取和写入速度,并提供吞吐量和延迟等性能指标。
1.安装stream
#下载源码
wget http://www.cs.virginia.edu/stream/FTP/Code/stream.c
#单线程编译
gcc -mtune=native -march=native -O3 -mcmodel=medium -DSTREAM_ARRAY_SIZE=200000000 -DNTIMES=30 stream.c -o stream.o
#多线程编译(一般使用多线程编译)
gcc -mtune=native -march=native -O3 -mcmodel=medium -fopenmp -DSTREAM_ARRAY_SIZE=200000000 -DNTIMES=30 stream.c -o stream.o
2.内存性能测试
#使用命令指定运行线程为X
export OMP_NUM_THREADS=X
#stream目录下运行可执行文件
./stream.o
3.测试结果
结果解读:
Copy Bandwidth(复制带宽):表示每秒复制的数据量,以字节为单位。较高的Copy Bandwidth值表示内存复制操作的性能较好,即系统能够高效地将数据从一个内存区域复制到另一个内存区域。
Scale Bandwidth(缩放带宽):表示每秒缩放的数据量,以字节为单位。较高的Scale Bandwidth值表示内存缩放操作的性能较好,即系统能够高效地对内存中的数据进行缩放计算。
Add Bandwidth(加法带宽):表示每秒相加的数据量,以字节为单位。较高的Add Bandwidth值表示内存加法操作的性能较好,即系统能够高效地进行内存中数据的相加运算。
Triad Bandwidth(三元带宽):表示每秒执行相加和缩放的数据量,以字节为单位。较高的Triad Bandwidth值表示内存三元操作的性能较好,即系统能够高效地进行内存中数据的相加和缩放运算。
硬盘测试
使用测试工具hdparm对硬盘的读写性能进行测试。hdparm 是一个用于配置和诊断Linux系统中的硬盘驱动器的命令行工具。它提供了一系列命令和选项,可以用于检查硬盘驱动器的性能、设置硬盘特性、进行磁盘缓存设置等操作。
1.安装hdparm
#安装hdparm
yum install -y hdparm
2.硬盘读写测试
#硬盘读
hdparm -t /dev/sda
#硬盘缓存读
hdparm -T /dev/sda
#硬盘读性能
hdparm -tT --direct /dev/sda
#硬盘直接读
hdparm -cdt /dev/sda
3.测试结果
hdparm -t /dev/sda:此命令测试硬盘的顺序读取性能。结果通常以MB/秒为单位给出。较高的数值表示硬盘的顺序读性能较好,能够更快地读取连续的数据块。
hdparm -T /dev/sda:这个命令测试硬盘的缓存读取性能。结果同样以MB/秒为单位给出。较高的数值表示硬盘的缓存读性能较好,意味着硬盘内部的缓存可以更快地提供数据,而不必从磁盘本身读取。
hdparm -tT --direct /dev/sda:此命令结合了顺序读取和缓存读取的性能测试,并使用直接I/O模式。直接I/O模式绕过操作系统的缓存,直接从硬盘读取数据。结果包括两个数值,第一个表示顺序读取性能,第二个表示缓存读取性能。
hdparm -cdt /dev/sda:这个命令测试硬盘的直接读取性能,并显示硬盘的详细信息。它提供了更多关于硬盘性能和特性的信息,包括缓存策略、DMA模式、多扇区读取等。
以太网卡测试
1.安装iperf
#安装iperf
yum install iperf
2.以太网卡性能测试
#服务端开启iperf服务
iperf -s
#客户端进行连接测试
iperf -c 服务端ip地址