使用MYSQL benchmark - DBT2 Benchmark Tool遇到的问题

原创 2015年07月08日 21:18:48

MYSQL Server是5.6版本

下载DBT2 Benchmark,编译安装,按照README-MYSQL中的步骤来操作。需要由aclocal、autoheader、autoconf、automake,以及mysql、mysql-libs、mysql-devel。

$ ./congigure --with-mysql

$ make

$ sudo make install 

安装好datagen,然后生成数据,需要先创建对应的目录如/tmp/dbt2-w3。

$ datagen -w 3 -d  /tmp/dbt2-w3 --mysql

warehouses = 3
first warehouse = 1
districts = 10
customers = 3000
items = 100000
orders = 3000
stock = 100000
new_orders = 900

生成完数据后就可以执行scripts/mysql/mysql_load_db.sh脚本将数据导入到数据库中。

$ ./scripts/mysql/mysql_load_db.sh --path /home/ec2-user/myspace/tmp/dbt2-w3 --host yourdbhost --mysql-path /usr/bin/mysql --user yourname--password yourpassword

这里可能遇到几个问题:

1)提示输密码问题:
修改mysql_load_db.sh里面的
if [ "$DB_PASSWORD" != "" ]; then
  #MYSQL_ARGS="-p $DB_PASSWORD"
  MYSQL_ARGS="-p$DB_PASSWORD"

脚本中的port参数也可能需要修改成-P。

2)权限不足问题:

登录mysql修改权限

mysql> grant all privileges on dbt2.* to 'yourname'@'%';
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3)LOAD DATA INFILE报Access denied

mysql_load_db.sh中LOAD DATA这个命令引用了变量$LOCAL,但是这个变量并没有值,据http://stackoverflow.com/questions/2221335/access-denied-for-load-data-infile-in-mysql 直接使用LOAD DATA LOCAL INFILE即可。

#command_exec "$MYSQL $DB_NAME -e \"LOAD DATA $LOCAL INFILE \\\"$DB_PATH/$FN.data\\\" \
    command_exec "$MYSQL $DB_NAME -e \"LOAD DATA LOCAL INFILE \\\"$DB_PATH/$FN.data\\\" \
              INTO TABLE $TABLE FIELDS TERMINATED BY '\t' ${COLUMN_NAMES} \""

重新执行mysql_load_db.sh即可。

Creating table STOCK in INNODB
Creating table ITEM in INNODB
Creating table ORDER_LINE in INNODB
Creating table ORDERS in INNODB
Creating table NEW_ORDER in INNODB
Creating table HISTORY in INNODB
Creating table CUSTOMER in INNODB
Creating table DISTRICT in INNODB
Creating table WAREHOUSE in INNODB

Loading table customer

Loading table district

。。。


运行benchmark,注意自己的mysql lib库的位置设置--lib-client-path才能运行:

./run_mysql.sh --connections 20 --time 60 --warehouses 3 --host mydb1.cb837jmipnaa.ap-northeast-1.rds.amazonaws.com --user username--password password--lib-client-path /usr/lib64/mysql --output-base /home/ec2-user/myspace/dbt2-0.37.50.6


DBT2使用说明

本文转载自:http://blog.chinaunix.net/uid-26896862-id-3188314.html
  • yumushui
  • yumushui
  • 2014年07月08日 18:21
  • 776

mysql 基准测试和性能分析

安装sql-bench必需的perl包 sudo /usr/bin/perl -MCPAN -e 'install DBI' export PATH=$PATH:/usr/local/we...
  • wwwbbb8510
  • wwwbbb8510
  • 2011年12月23日 15:25
  • 3012

MySQL--BENCHMARK()函数

说明MySQL有一个内置的BENCHMARK()函数,可以测试某些特定操作的执行速度。 参数可以是需要执行的次数和表达式。 表达式可以是任何的标量表达式,比如返回值是标量的子查询或者函数。请注意:...
  • liuk10
  • liuk10
  • 2016年03月03日 19:45
  • 1049

MySQL Benchmark(全文)

公司内部最流行的数据库就是MySQL,而关于MySQL性能,我听过种种传说和流言。而对于数据库的性能优化和测试,我一直有强烈的兴趣,曾经见过一篇Oracle的性能优化文章,Linux Journal的...
  • zhangjp
  • zhangjp
  • 2014年02月25日 12:27
  • 8014

学习笔记:MySQL基准测试之Benchmark Suite

MySQL Benchmark Suite是除了“mysqlslap”命令行工具(http://blog.csdn.net/sweeper_freedoman/article/details/7355...
  • sweeper_freedoman
  • sweeper_freedoman
  • 2017年06月22日 20:38
  • 1985

mysql5.7压测工具sysbench dbt2安装找不到lmysqlclient动态链接库

mysql5.7压测工具sysbench dbt2安装找不到lmysqlclient动态链接库近期安装linux centos6安装mysql5.7后想用sysbench、dbt2进行压测,死活安装不...
  • zhou_java_hui
  • zhou_java_hui
  • 2016年11月03日 11:27
  • 972

MySQL Benchmark(全文)

来自 公司内部最流行的数据库就是MySQL,而关于MySQL性能,我听过种种传说和流言。而对于数据库的性能优化和测试,我一直有强烈的兴趣,曾经见过一篇Oracle的性能优化文章,Li...
  • chexlong
  • chexlong
  • 2015年04月28日 09:48
  • 814

Android Benchmark

  • 2013年04月10日 11:07
  • 296KB
  • 下载

Mysql benchmark 的使用

  1.  select   语句来查看sql 语句执行的时间         我一直使用mysql 图形化工具来操作数据库,查看某条SQL 语句执行的时间也是通过图形化工具来查看。前两天遇到了一个问...
  • veverrr
  • veverrr
  • 2011年04月09日 20:41
  • 1522

web性能测试:apache benchmark(ab)

开发完网站或者web接口后,一个比较负责任的工作就是测试一下接口性能,也叫做压力测试。web接口的性能直接关系服务的稳定和并发量,一个数值评估通常可以给服务能力给出一个比较好的指导。 本文介绍比较常...
  • dreamer2020
  • dreamer2020
  • 2016年10月23日 22:01
  • 1707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用MYSQL benchmark - DBT2 Benchmark Tool遇到的问题
举报原因:
原因补充:

(最多只允许输入30个字)