sysbenche的安装过程和错误处理

 : jank    :   : 2064    : 2016-08-07 00:09  linux

sysbench的安装和使用sysbench的安装和使用sysbench的安装和使用http://blog.csdn.net/chenxingzhen001/article/details/8633543http://blog.csdn.net/chenxingzhen001/article/details/8633543

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。

它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
 目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库

一、软件准备

在mysql官网上分别下载并安装以下软件

1. MySQL-server-5.5.30-1.linux2.6
2. MySQL-shared-5.5.30-1.linux2.6
3. MySQL-client-5.5.30-1.linux2.6
4. MySQL-devel-5.5.30-1.linux2.6

在 http://sourceforge.net/projects/sysbench 下载sysbench的源码包。

二、安装

1.   tar  zxf  sysbench-0.4.12.tar.gz

2.   cd sysbench-0.4.12

3.  执行./autogen.sh 文件

4.   ./configure --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/var/lib/mysql

5.   make

6.   make install

三、测试

1、cpu性能测试
sysbench --test=cpu --cpu-max-prime=20000 run

cpu测试主要是进行素数的加法运算,在上面的例子中,指定了最大的素数为 20000,自己可以根据机器cpu的性能来适当调整数值。

2、线程测试
sysbench --test=threads --num-threads=64 --thread-yields=100 --thread-locks=2 run

3、磁盘IO性能测试
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw prepare
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw run
sysbench --test=fileio --num-threads=16 --file-total-size=3G --file-test-mode=rndrw cleanup

上述参数指定了最大创建16个线程,创建的文件总大小为3G,文件读写模式为随机读。

4、内存测试
sysbench --test=memory --memory-block-size=8k --memory-total-size=4G run

上述参数指定了本次测试整个过程是在内存中传输 4G 的数据量,每个 block 大小为 8K。

5、OLTP测试
sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=dbtest1 --mysql-user=root --mysql-host=172.16.48.208 --mysql-password=root prepare


sysbench --num-threads=8 --max-requests=4000000 --test=oltp --mysql-table-engine=innodb --oltp-table-size=4000000 --mysql-socket=/var/lib/mysql/mysql.sock --mysql-db=dbtest1 --mysql-user=root --mysql-host=172.16.48.208 --mysql-password=root run


上述参数指定了本次测试的表存储引擎类型为 myisam,这里需要注意的是,官方网站上的参数有一处有误,即 --mysql-table-engine,官方网站上写的是 --mysql-table-type,这个应该是没有及时更新导致的。另外,指定了表最大记录数为 1000000,其他参数就很好理解了,主要是指定登录方式。测试 OLTP 时,可以自己先创建数据库 sbtest,或者自己用参数 --mysql-db 来指定其他数据库。--mysql-table-engine 还可以指定为 innodb 等 MySQL  支持的表存储引擎类型。

四、安装过程中报错及解决方法

1. make时报错:drv_mysql.c:35:19: 错误:mysql.h:没有那个文件或目录
    drv_mysql.c:36:26: 错误:mysqld_error.h:没有那个文件或目录

   解决方法:安装mysql-devel包   rpm -ivh MySQL-devel-5.5.30-1.linux2.6.x86_64.rpm

2.错误:

Fatal server error:
Server is already active for display 0
If this server is no longer running, remove /tmp/.X0-lock
and start again.
解决方法:只要先运行一次autogen.sh,然后再configure,make就可以了

3.错误:/usr/bin/ld: cannot find -lmysqlclient_r
collect2: ld returned 1 exit status
make[2]: *** [sysbench] 错误 1
make[2]: Leaving directory `/opt/sysbench-0.4.12/sysbench'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/opt/sysbench-0.4.12/sysbench'
make: *** [all-recursive] 错误 1

解决:rpm -ivh MySQL-shared-5.5.30-1.linux2.6.x86_64.rpm

注:转自http://blog.chinaunix.net/uid-177564-id-3715242.html

   

备案编号:赣ICP备15011386号

联系方式:qq:1150662577    邮箱:1150662577@qq.com