在linux虚拟机中进行性能测试可以通过多种方法和工具来实现,以下是一些常用的方法和工具:
磁盘性能测试
- 使用fio工具: fio是一个强大的磁盘I/O测试工具,可以通过调整不同的测试参数来评估磁盘的性能。具体步骤如下:
- 部署Linux docker:在虚拟机中部署一个Linux Docker容器,并确保容器以特权模式运行。
- 安装fio:在Docker容器内安装fio。可以使用以下命令:
apt update apt install fio
- 执行测试:使用以下命令进行磁盘性能测试:
- 随机读写测试:
fio --name=测试 --rw=randrw --bs=4k --size=1G --numjobs=1 --iodepth=1 --time_based --runtime=30 --group_reporting --filename=/mnt/test
- 顺序读写测试:
fio --name=测试 --rw=readwrite --bs=1M --size=1G --numjobs=1 --iodepth=1 --time_based --runtime=30 --group_reporting --filename=/mnt/test
以上命令参数的说明可以参考。
- 随机读写测试:
CPU性能测试
-
unixBench: UnixBench是一个基于Unix系统的基准测试工具,可以测试CPU的单核和多核性能。具体步骤如下:
- 下载并解压工具:
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz tar -xf UnixBench5.1.3.tgz
- 安装依赖包:
yum install gcc perl -y
- 测试CPU性能:
- 测试单核性能:
./Run -c 1
- 测试多核性能:
./Run -c <CPU核心数>
测试结果中的index值越高表示CPU性能越好。
- 测试单核性能:
- 下载并解压工具:
-
SuperPI: SuperPI是一个典型的CPU密集型基准测试工具,用于计算圆周率π小数点后的数据,以此来确定CPU的稳定性和计算能力。具体步骤如下:
- 下载工具:
- 安装依赖包:
yum install glibc-static unzip -y
- 编译并测试:
cd SuperPI-main/ gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi_css5 ./pi_css5 $((1<<20))
测试结果中的real time值越小越好。
系统整体性能测试
-
使用vmstat: vmstat命令可以显示系统的整体运行状态,包括进程、内存、I/O等信息。常用选项包括:
- -a:显示活动内页
- -f:显示启动后创建的进程总数
- -m:显示slab信息
- -n:头信息仅显示一次
- -s:以表格方式显示事件计数器和内存状态
- -d:报告磁盘状态
- -p:显示指定的硬盘分区状态
-
使用iostat: iostat命令用于监视系统输入输出设备和CPU的使用情况。常用选项包括:
- -c:仅显示CPU使用情况
- -d:仅显示设备利用率
- -k:显示状态以千字节每秒为单位
- -m:显示状态以兆字节每秒为单位
- -p:仅显示块设备和所有被使用的其他分区的状态
通过这些工具和命令,可以对Linux虚拟机的磁盘性能、CPU性能以及整体系统性能进行全面的测试和分析。根据具体的测试需求选择合适的工具和方法。