标签:sysbench
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。
它主要包括以下几种方式的测试:
1、cpu性能
2、磁盘io性能
3、调度程序性能
4、内存分配及传输速度
5、POSIX线程性能
6、数据库性能(OLTP基准测试)
目前sysbench主要支持 MySQL,pgsql,oracle 这3种数据库
一、软件准备
下载sysbench
二、安装
1.[root@cdhmysql opt]# tar -zxvf sysbench-0.5.tar.gz
2.[root@cdhmysql opt]# cd sysbench-0.5
3.[root@cdhmysql sysbench-0.5]# chmod +x autogen.sh
4.[root@cdhmysql sysbench-0.5]# ./configure --with-mysql --with-mysql-includes=/usr/include/mysql/ --with-mysql-libs=/usr/lib64
5[root@cdhmysql sysbench-0.5]# make
6.[root@cdhmysql 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包 [root@cdhmysql 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 |
解决:[root@cdhmysql mysql]# rpm -ivh MySQL-shared-5.6.35-1.el6.x86_64.rpm
本文出自 “2630554” 博客,请务必保留此出处http://2640554.blog.51cto.com/2630554/1982842
标签:sysbench
原文地址:http://2640554.blog.51cto.com/2630554/1982842