sysbench0.5安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sysbench0.5安装相关的知识,希望对你有一定的参考价值。

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

它主要包括以下几种方式的测试:

1、cpu性能

2、磁盘io性能

3、调度程序性能

4、内存分配及传输速度

5、POSIX线程性能

6、数据库性能(OLTP基准测试)

 目前sysbench主要支持 mysql,pgsql,oracle 这3种数据库

一、软件准备

下载sysbench

二、安装

1.[[email protected] opt]# tar -zxvf sysbench-0.5.tar.gz

2.[[email protected] opt]# cd sysbench-0.5

3.[[email protected] sysbench-0.5]# chmod +x autogen.sh

4.[[email protected] sysbench-0.5]# ./configure --with-mysql --with-mysql-includes=/usr/include/mysql/ --with-mysql-libs=/usr/lib64

5[[email protected] sysbench-0.5]# make

6.[[email protected] sysbench-0.5]# make install

三、安装常见错误

1.

drv_mysql.c:36:19: 错误:mysql.h:没有那个文件或目录
drv_mysql.c:37:26: 错误:mysqld_error.h:没有那个文件或目录
drv_mysql.c:43:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c:48:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c: 在函数‘mysql_drv_init’中:
drv_mysql.c:240: 警告:隐式声明函数‘mysql_library_init’
drv_mysql.c:240: 警告:对‘mysql_library_init’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_connect’中:
drv_mysql.c:262: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:262: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
drv_mysql.c:262: 错误:所在的函数内也只报告一次。)
drv_mysql.c:262: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:268: 错误:expected expression before ‘)’ token
drv_mysql.c:274: 警告:隐式声明函数‘mysql_init’
drv_mysql.c:274: 警告:对‘mysql_init’的嵌套的外部声明
drv_mysql.c:300: 警告:隐式声明函数‘mysql_ssl_set’
drv_mysql.c:300: 警告:对‘mysql_ssl_set’的嵌套的外部声明
drv_mysql.c:303: 错误:‘MYSQL_VERSION_ID’未声明(在此函数内第一次使用)
drv_mysql.c:313: 警告:隐式声明函数‘mysql_real_connect’
drv_mysql.c:313: 警告:对‘mysql_real_connect’的嵌套的外部声明
drv_mysql.c:320:5: 警告:“MYSQL_VERSION_ID”未定义
drv_mysql.c:328: 警告:隐式声明函数‘mysql_errno’
drv_mysql.c:328: 警告:对‘mysql_errno’的嵌套的外部声明
drv_mysql.c:329: 警告:隐式声明函数‘mysql_error’
drv_mysql.c:329: 警告:对‘mysql_error’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_disconnect’中:
drv_mysql.c:343: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:343: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:348: 警告:隐式声明函数‘mysql_close’
drv_mysql.c:348: 警告:对‘mysql_close’的嵌套的外部声明
drv_mysql.c: 在函数‘mysql_drv_bind_param’中:
drv_mysql.c:423: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:423: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:423: 错误:expected expression before ‘)’ token
drv_mysql.c: 在函数‘mysql_drv_query’中:
drv_mysql.c:639: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:639: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:643: 警告:隐式声明函数‘mysql_real_query’
drv_mysql.c:643: 警告:对‘mysql_real_query’的嵌套的外部声明
drv_mysql.c:649: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用)
drv_mysql.c:649: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用)
drv_mysql.c:650: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用)
drv_mysql.c: 在函数‘mysql_drv_fetch_row’中:
drv_mysql.c:678: 警告:隐式声明函数‘mysql_fetch_row’
drv_mysql.c:678: 警告:对‘mysql_fetch_row’的嵌套的外部声明
drv_mysql.c:678: 警告:赋值时将整数赋给指针,未作类型转换
drv_mysql.c: 在函数‘mysql_drv_store_results’中:
drv_mysql.c:705: 错误:‘MYSQL’未声明(在此函数内第一次使用)
drv_mysql.c:705: 错误:‘con’未声明(在此函数内第一次使用)
drv_mysql.c:706: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用)
drv_mysql.c:706: 错误:‘res’未声明(在此函数内第一次使用)
drv_mysql.c:707: 错误:‘MYSQL_ROW’未声明(在此函数内第一次使用)
drv_mysql.c:707: 错误:expected ‘;’ before ‘row’
drv_mysql.c:751: 警告:隐式声明函数‘mysql_store_result’
drv_mysql.c:751: 警告:对‘mysql_store_result’的嵌套的外部声明
drv_mysql.c:757: 错误:‘ER_LOCK_DEADLOCK’未声明(在此函数内第一次使用)
drv_mysql.c:757: 错误:‘ER_LOCK_WAIT_TIMEOUT’未声明(在此函数内第一次使用)
drv_mysql.c:758: 错误:‘ER_CHECKREAD’未声明(在此函数内第一次使用)
drv_mysql.c:765: 警告:隐式声明函数‘mysql_field_count’
drv_mysql.c:765: 警告:对‘mysql_field_count’的嵌套的外部声明
drv_mysql.c:772: 警告:隐式声明函数‘mysql_num_rows’
drv_mysql.c:772: 警告:对‘mysql_num_rows’的嵌套的外部声明
drv_mysql.c:776: 错误:‘row’未声明(在此函数内第一次使用)
drv_mysql.c: 在函数‘mysql_drv_free_results’中:
drv_mysql.c:799: 警告:隐式声明函数‘mysql_free_result’
drv_mysql.c:799: 警告:对‘mysql_free_result’的嵌套的外部声明
drv_mysql.c:799: 错误:‘MYSQL_RES’未声明(在此函数内第一次使用)
drv_mysql.c:799: 错误:expected expression before ‘)’ token
drv_mysql.c: 在函数‘mysql_drv_done’中:
drv_mysql.c:833: 警告:隐式声明函数‘mysql_library_end’
drv_mysql.c:833: 警告:对‘mysql_library_end’的嵌套的外部声明
make[3]: *** [libsbmysql_a-drv_mysql.o] 错误 1
make[3]: Leaving directory `/opt/sysbench-0.5/sysbench/drivers/mysql‘
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/opt/sysbench-0.5/sysbench/drivers‘
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/opt/sysbench-0.5/sysbench‘
make: *** [all-recursive] 错误 1

   解决方法:安装mysql-devel包  [[email protected] mysql]# rpm -ivh MySQL-devel-5.6.35-1.el6.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.5/sysbench‘
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/opt/sysbench-0.5/sysbench‘
make: *** [all-recursive] 错误 1

解决:[[email protected] mysql]# rpm -ivh MySQL-shared-5.6.35-1.el6.x86_64.rpm


本文出自 “2630554” 博客,请务必保留此出处http://2640554.blog.51cto.com/2630554/1982842

以上是关于sysbench0.5安装的主要内容,如果未能解决你的问题,请参考以下文章

sysbench0.5笔记

sysbench mysql-ssd与hdd性能测试

sysbench压测Oracle(安装与使用示例)

sysbench压测工具 压测 mysql

sysbench压测工具 压测 mysql

sysbench测试mysql性能