导航:本文简单介绍sysbench测试内存、CPU性能的方式
第一章:sysbench简介
第二章:sysbench安装
第三章:CPU性能测试
第四章:内存测试
第五章:附录查看CPU信息
一、sysbench简介
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。本文主要介绍CPU、内存测试方法。
二、 sysbench安装
sysbench项目地址: https://github.com/akopytov/sysbench/releases
- Debian/Ubuntu
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.deb.sh | sudo bash
sudo apt -y install sysbench
- RHEL/CentOS
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo yum -y install sysbench
- Fedora
curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo bash
sudo dnf -y install sysbench
- Arch Linux
sudo pacman -Suy sysbench
三、CPU性能测试
sysbench采用寻找最大素数的方式来测试CPU的性能
//查看帮助
sysbench --test=cpu help
//cpu测试。本文测试CPU:AMD EPYC Processor 2C 2G
sysbench --threads=2 --test=cpu --cpu-max-prime=10000 run
参数:
–threads:线程数量
–test:指定测试类型,可选 fileio、cpu、memory、threads、mutex
–cpu-max-prime: 设置素数生成数量的上限,不指定的话默认10000
结果解析:
sysbench 1.0.17 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 2
Initializing random number generator from current time
Prime numbers limit: 10000 //素数生成数量的上限
Initializing worker threads...
Threads started!
CPU speed:
events per second: 3338.62 //CPU每秒处理的事件数量
General statistics:
total time: 10.0005s //程序执行总时长
total number of events: 33391 //产生的总事件数
Latency (ms):
min: 0.58 //事件处理最短时长(毫秒)
avg: 0.60 //事件平均处理时长(毫秒)
max: 1.18 //事件处理最长时长(毫秒)
95th percentile: 0.61 //95%事件处理时长(毫秒)
sum: 19987.80 //事件处理总时长(毫秒)
Threads fairness:
events (avg/stddev): 16695.5000/33.50 //每个线程处理的总事件,标准方差
execution time (avg/stddev): 9.9939/0.00 //每个线程处理的总时间,标准方差
四、内存测试
//查看帮助
sysbench --test=memory help
//内存负载测试:2线程,内存块大小为8k,顺序写
sysbench --test=memory --threads=2 --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run
参数:
–memory-block-size:测试内存块的大小,默认为1K。
–memory-total-size:数据传输的总大小,默认为100G。
–memory-scope:内存访问的范围,包括全局和本地范围,默认为global。
–memory-hugetlb:是否从HugeTLB池分配内存的开关,默认为off,开为on。
–memory-oper:内存操作的类型,包括read, write, none,默认为write
–memory-access-mode:内存访问模式,包括seq,rnd两种模式,默认为seq。
五、附录:查看CPU信息
//查看总的逻辑CPU数量
cat /proc/cpuinfo| grep "processor"| wc -l
//查看物理CPU数量
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
//查看每个物理 cpu 中 核心数(core 数):
cat /proc/cpuinfo | grep "cpu cores" | uniq
//查看 cpu 型号:
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
//查看总的CPU信息
lscpu
© 版权声明
文章版权归作者所有,未经允许请勿转载。