sysbench——服务器cpu性能测试

一、前言

最近在工作中需要测试cpu占用率、内存占用率,我想要寻找一种合适的能提高cpu占用率的工具及方法。先尝试了使用 echo "scale=5000; 4*a(1)" | bc -l -q 命令计算浮点数,但这种方式只能进行CPU单线程简单测试,无法提高服务器的整体cpu占用率。后来,搜了不少资料,终于找到一款合适的cpu性能测试的工具——sysbench。

二、sysbench简单介绍

SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试: 
1. cpu性能 
2. 磁盘io性能 
3. 线程调度性能 
4. 互斥锁性能 
5. 数据库性能(OLTP基准测试) 
6. 内存性能

目前sysbench主要支持 MySQL、pgsq、Oracle 这3种数据库。 
sysbench在github的版本分为两个分支:0.4和0.5,我使用的是0.5这个版本。

三、sysbench安装

1、在https://github.com/akopytov/sysbench/tree/0.5下载sysbench-0.5.zip源码包到本地某个目录下,如/usr/cqs/目录下;
2、在/etc/cqs/sysbench目录下运行命令:unzip sysbench-0.5.zip,解压zip包,会生成sysbench-0.5目录;
3、 进入sysbench-0.5目录,运行命令:./autogen.sh
注意:这一步可能会报错:automake 1.10.x (aclocal) wasn’t found, exiting。这说明你的操作系统没有安装automake,运行命令:yum install automake.noarch,即可安装。然后再运行./autogen.sh命令,又报错:libtoolize 1.4+ wasn’t found, exiting。说明你的操作系统没有安装libtool,运行命令:yum install libtool,即可安装。继续运行。
4、 运行./configure --without-mysql(不编译测试mysql的功能模块)
5、 make && make install
6、 运行sysbench –help测试是否安装成功。

四、常用测试

1. 帮助信息
# sysbench –help
2. cpu测试
测试计算素数直到某个最大值所需要的时间。
# sysbench --test=cpu --cpu-max-prime=2000 --num-threads=40 run
补充:
查看CPU信息方法:
查看物理cpu个数
 grep "physical id" /proc/cpuinfo | sort -u | wc -l
查看核心数量
 grep "core id" /proc/cpuinfo | sort -u | wc -l
查看线程数量
 grep "processor" /proc/cpuinfo | sort -u | wc -l  #在sysbench的测试中,--num-threads取值为"线程数量"即可。
查看cpu占用比
top
3. 内存测试
测试内存的连续读写性能。
# sysbench –test=memory –num-threads=16 –memory-block-size=8192 –memory-total-size=1G run 
memory测试类型可用的参数如下:

五、参考资料








posted @ 2018-09-13 10:08  侠奕  阅读(3977)  评论(0编辑  收藏  举报