sysbench-0.4.12编译安装和CPU测试例子分享
一、获取安装包
最近的版本为0.4.12,下载地址:http://sourceforge.net/projects/sysbench/
二、编译安装
我的环境为RHEL6.2+MySQL5.6.16,搭建参考上两篇文章<<RHEL6.2编译安装MySQL5.6.16>><<MySQLBenchmark安装DBI组件>>,安装步骤如下:
[root@beanvm~]#tar-xvfsysbench-0.4.12.tar.gz [root@beanvm~]#cdsysbench-0.4.12 [root@beanvmsysbench-0.4.12]#./configure--with-mysql-includes=/usr/local/mysql/include--with-mysql-libs=/usr/local/mysql/lib&&make&&makeinstall
因为我的MySQL是编译安装的,所以上面需要给出MySQL的库文件位置(对应—with—mysql-includes和–with-mysql-libs选项)。
安装过程中常见的报错如下:
../libtool:line841:X--tag=CC:commandnotfound ../libtool:line874:libtool:ignoringunknowntag:commandnotfound ../libtool:line841:X--mode=link:commandnotfound ../libtool:line1007:***Warning:inferringthemodeofoperationisdeprecated.:commandnotfound ../libtool:line1008:***FutureversionsofLibtoolwillrequire--mode=MODEbespecified.:commandnotfound ../libtool:line2234:X-g:commandnotfound ../libtool:line2234:X-O2:commandnotfound ../libtool:line1954:X-L/usr/local/mysql/lib:Nosuchfileordirectory ../libtool:line2403:Xsysbench:commandnotfound
在之前版本中,碰见这个问题我们只需要在编译操作前执行sysbench解压目录下的autogen.sh脚本即可;不过现在这样做还是会报同样的错误,原因是sysbench自带的libtool有问题,我们可以比较它和/usr/bin/libtool文件的区别得知,总之可以通过替换这个libtool文件来解决,或者修改aclocal.m4文件的如下内容
#Alwaysuseourownlibtool. LIBTOOL='$(SHELL)$(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl
将LIBTOOL变量的值修改为:'$(SHELL) /usr/bin/libtool',即使用系统的libtool工具包。
修改后再执行make&&makeinstall即可顺利安装。
安装完成马上测试一下:
[root@beanvmsysbench-0.4.12]#sysbench sysbench:errorwhileloadingsharedlibraries:libmysqlclient.so.18:cannotopensharedobjectfile:Nosuchfileordirectory
说是缺少libmysqlclient.so.18文件,额,这个文件是存在的,需要手动链接一下:
[root@beanvm~]#ls-l/usr/local/mysql/lib/libmysqlclient.so.18* lrwxrwxrwx.1mysqlmysql 24Feb1514:39/usr/local/mysql/lib/libmysqlclient.so.18->libmysqlclient.so.18.1.0 -rwxr-xr-x.1mysqlmysql7654927Feb1514:30/usr/local/mysql/lib/libmysqlclient.so.18.1.0 [root@beanvm~]#ls-l/usr/lib/libmysqlclient.so.18* ls:cannotaccess/usr/lib/libmysqlclient.so.18*:Nosuchfileordirectory [root@beanvm~]#lnln-s/usr/local/mysql/lib/libmysqlclient.so.18/usr/lib/
部署完成,运行一个CPU基准测试:
[root@beanvm~]#sysbench--test=cpu--cpu-max-prime=20000run sysbench0.4.12: multi-threadedsystemevaluationbenchmark
Runningthetestwithfollowingoptions: Numberofthreads:1
DoingCPUperformancebenchmark
Threadsstarted! Done.
MaximumprimenumbercheckedinCPUtest:20000
Testexecutionsummary: totaltime: 40.4541s totalnumberofevents: 10000 totaltimetakenbyeventexecution:40.4165 per-requeststatistics: min: 3.64ms avg: 4.04ms max: 21.82ms approx. 95percentile: 5.20ms
Threadsfairness: events(avg/stddev): 10000.0000/0.00 executiontime(avg/stddev): 40.4165/0.00