sysbench:内存/CPU测试

Linux12个月前更新 huiye
107 0

导航:本文简单介绍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
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
sysbench:内存/CPU测试

参数:

–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
© 版权声明

相关文章