sysbench-0.4.12编译安装和CPU测试例子分享

 更新时间:2014年07月17日 09:33:34   投稿:junjie  
这篇文章主要介绍了sysbench-0.4.12编译安装和CPU测试例子分享,本文还包含安装过程中的错误及解决方法,使用时的错误和解决方法,需要的朋友可以参考下

一、获取安装包

最近的版本为0.4.12,下载地址:http://sourceforge.net/projects/sysbench/

二、编译安装

我的环境为RHEL6.2 + MySQL 5.6.16,搭建参考上两篇文章<<RHEL6.2编译安装MySQL 5.6.16>><<MySQL Benchmark安装DBI组件>>,安装步骤如下:

复制代码 代码如下:

[root@beanvm ~]# tar -xvf sysbench-0.4.12.tar.gz
[root@beanvm ~]# cd sysbench-0.4.12
[root@beanvm sysbench-0.4.12]# ./configure --with-mysql-includes=/usr/local/mysql/include --with-mysql-libs=/usr/local/mysql/lib && make && make install

因为我的MySQL是编译安装的,所以上面需要给出MySQL的库文件位置(对应—with—mysql-includes和–with-mysql-libs选项)。

安装过程中常见的报错如下:

复制代码 代码如下:

../libtool: line 841: X--tag=CC: command not found
../libtool: line 874: libtool: ignoring unknown tag : command not found
../libtool: line 841: X--mode=link: command not found
../libtool: line 1007: *** Warning: inferring the mode of operation is deprecated.: command not found
../libtool: line 1008: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
../libtool: line 2234: X-g: command not found
../libtool: line 2234: X-O2: command not found
../libtool: line 1954: X-L/usr/local/mysql/lib: No such file or directory
../libtool: line 2403: Xsysbench: command not found

在之前版本中,碰见这个问题我们只需要在编译操作前执行sysbench解压目录下的autogen.sh脚本即可;不过现在这样做还是会报同样的错误,原因是sysbench自带的libtool有问题,我们可以比较它和/usr/bin/libtool文件的区别得知,总之可以通过替换这个libtool文件来解决,或者修改aclocal.m4文件的如下内容

复制代码 代码如下:

# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl

将LIBTOOL变量的值修改为:'$(SHELL)  /usr/bin/libtool',即使用系统的libtool工具包。

修改后再执行make && make install即可顺利安装。

安装完成马上测试一下:

复制代码 代码如下:

[root@beanvm sysbench-0.4.12]# sysbench
sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

说是缺少libmysqlclient.so.18文件,额,这个文件是存在的,需要手动链接一下:

复制代码 代码如下:

[root@beanvm ~]# ls -l /usr/local/mysql/lib/libmysqlclient.so.18*
lrwxrwxrwx. 1 mysql mysql      24 Feb 15 14:39 /usr/local/mysql/lib/libmysqlclient.so.18 -> libmysqlclient.so.18.1.0
-rwxr-xr-x. 1 mysql mysql 7654927 Feb 15 14:30 /usr/local/mysql/lib/libmysqlclient.so.18.1.0
[root@beanvm ~]# ls -l /usr/lib/libmysqlclient.so.18*
ls: cannot access /usr/lib/libmysqlclient.so.18*: No such file or directory
[root@beanvm ~]# ln ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/

部署完成,运行一个CPU基准测试:

复制代码 代码如下:

[root@beanvm ~]# sysbench --test=cpu --cpu-max-prime=20000 run
sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 1

Doing CPU performance benchmark

Threads started!
Done.

Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          40.4541s
    total number of events:              10000
    total time taken by event execution: 40.4165
    per-request statistics:
         min:                                  3.64ms
         avg:                                  4.04ms
         max:                                 21.82ms
         approx.  95 percentile:               5.20ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   40.4165/0.00

相关文章

  • MySQL删除有外键约束的表数据方法介绍

    MySQL删除有外键约束的表数据方法介绍

    这篇文章主要介绍了MySQL删除有外键约束的表数据方法介绍,还是非常不错的,这里给大家分享下,需要的朋友可以参考。
    2017-10-10
  • Mysql执行原理之索引合并步骤详解

    Mysql执行原理之索引合并步骤详解

    这篇文章主要介绍了Mysql执行原理之索引合并详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • mysql中批量插入数据(1万、10万、100万、1000万、1亿级别)

    mysql中批量插入数据(1万、10万、100万、1000万、1亿级别)

    本文主要介绍了mysql中批量插入数据(1万、10万、100万、1000万、1亿级别),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • mysql中int(3)和int(10)的数值范围是否相同

    mysql中int(3)和int(10)的数值范围是否相同

    依稀还记得有次面试,有面试官问我int(10)与int(11)有什么区别,当时觉得就是长度的区别吧,后来发现事情不是这么简单,这篇文章主要给大家介绍了关于mysql中int(3)和int(10)的数值范围是否相同的相关资料
    2021-10-10
  • JDBC如何连接不同类型数据库

    JDBC如何连接不同类型数据库

    这篇文章主要介绍了JDBC如何连接不同类型数据库问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2007-02-02
  • MySQL中的多表联合查询功能操作

    MySQL中的多表联合查询功能操作

    这篇文章主要介绍了MySQL中的多表联合查询功能操作,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    MySQL按常规排序、自定义排序和按中文拼音字母排序的方法

    MySQL常规排序、自定义排序和按中文拼音字母排序,在实际的SQL编写时,我们有时候需要对条件集合进行排序。下面给出3种比较常用的排序方式,一起看看吧
    2017-04-04
  • MySQL修改默认字符集编码的方法

    MySQL修改默认字符集编码的方法

    这篇文章主要介绍了MySQL修改默认字符集编码的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • mysql alter table 修改表命令详细介绍

    mysql alter table 修改表命令详细介绍

    MYSQL ALTER TABLE命令用于修改表结构,例如添加/修改/删除字段、索引、主键等等,本文章通过实例向大家介绍MYSQL ALTER TABLE语句的使用方法,需要的朋友可以参考一下。
    2016-10-10
  • mysql 如何使用JSON_EXTRACT() 取json值

    mysql 如何使用JSON_EXTRACT() 取json值

    这篇文章主要介绍了mysql如何使用JSON_EXTRACT() 取json值的操作方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论