sysbench支持以下几种测试模式:
1、CPU运算性能
2、磁盘IO性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持 mysql,drizzle,pgsql,oracle 等几种数据库。
在安装之前,确保已经安装mysql
1.下载sysbench
http://dev.mysql.com/downloads/benchmarks.html
2.解压 tar -zxvf sysbench-0.4.12.7.tar.gz
3.安装sysbench
./configure –with-mysql-includes=/usr/local/mysql/include –with-mysql-libs=/usr/local/mysql/lib
make &make install
在make install过程中一直显示“make[1]: Nothing to be done for `all-am’.” 发现并没有安装成功
解决方法:
1. 直接复制系统自带的libtool到项目目录,应该在/usr/bin目录下,覆盖代码文件目录下的libtool,再执行make
(没装就apt-get install libtool 或者 yum install libtool 安装一下吧)
cp /usr/bin/libtool /root/sysbench-0.4.12
2. 修改aclocal.m4文件,将上面的LIBTOOL=’
(SHELL)
(top_builddir)/libtool’改成LIBTOOL=’(SHELL) /usr/bin/libtool’后重新执行./configure
[root@localhost sysbench-0.4.12]# vi aclocal.m4
LIBTOOL=’(SHELL) /usr/bin/libtool’
3. 将源码目录下libtool脚本中所有的
ECHO替换成
echo. 或者将脚本文件ltmain.sh里的
echo替换成
ECHO,都一样,重新执行./configure
ECHO=”echo”
改成: echo=”echo”
这个时候会发现在/usr/local/bin/下出现了sysbench,证明安装成功。
在执行sysbench时,报错 can not find libmysqlclient.so.18 ,no such file or directory。
原因是因为mysql的lib并没有加入到系统库中。
解决办法:
cd /etc/ld.so.conf.d/
ldconfig -p 查看系统动态链接库
添加mysql的lib到系统库
vi mysql.conf
加入/usr/local/mysql/lib/
root@testda:/etc/ld.so.conf.d# ldconfig -p|grep mysql
libmysqlclient.so.18 (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so.18
libmysqlclient.so (libc6,x86-64) => /usr/local/mysql/lib/libmysqlclient.so
OK!
简单测试下sysbench是否可用
vagrant@testda:~$ sysbench –test=cpu –cpu-max-prime=20000 run
sysbench 0.4.12.6: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 1
Random number generator seed is 0 and will be ignored
Doing CPU performance benchmark
Threads started!
Done.
Maximum prime number checked in CPU test: 20000
Test execution summary:
total time: 29.2242s
total number of events: 10000
total time taken by event execution: 28.9275
per-request statistics:
min: 0.20ms
avg: 2.89ms
max: 696.66ms
approx. 95 percentile: 3.42ms
Threads fairness:
events (avg/stddev): 10000.0000/0.00
execution time (avg/stddev): 28.9275/0.00