mysql基准库_MySQL数据库基准压力测试工具之MySQLSlap使用实例

一、mysqlslap 介绍

mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具。

通过模拟多个并发客户端访问MySQL来执行压力测试

,同时详细的提供了“高负荷攻击MySQL”的数据性能报告。并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别。

如果是系统自带或者使用rpm包安装的mysql,安装了

MySQL-client端的包就有mysqlslap这个工具。

二、 mysqlslap 使用方法介绍

通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方手册

1) --concurrency

代表并发数量,多个可以用逗号隔开 ,

例如: concurrency=10,50,100,

并发连接线程数分别是 10

、 50

、 100

个并发。

2) --engines

代表要测试的引擎,可以有多个,用分隔符隔开。

3) --iterations

代表要运行这些测试多少次。

4) --auto-generate-sql

代表用系统自己生成的 SQL

脚本来测试。

5

) --auto-generate-sql-load-type

代表要测试的是读还是写还是两者混合的( read,write,update,mixed

)

6) --number-of-queries

代表总共要运行多少次查询。每个客户端运行的查询数量可以用查询总数 /

并发数来计算。

7) --debug-info

代表要额外输出 CPU

以及内存的相关信息。

8) --number-int-cols

:创建测试表的 int

型字段数量

9) --auto-generate-sql-add-autoincrement :

代表对生成的表自动添加 auto_increment

列,从 5.1.18

版本开始

10) --number-char-cols

创建测试表的 char

型字段数量。

11) --create-schema

测试的 schema

, MySQL

中 schema

也就是 database

12) --query

使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者 sql

语句来执行测试。

13) --only-print

如果只想打印看看 SQL

语句是什么,可以用这个选项。

三、Demo 实例

下面我们使用几个 demo

实例来进行测试

1

、 Demo1

[root@localhost ~]# mysqlslap -uroot -p -S /home/mysql/mysql.sock --concurrency=50,100,200 --number-of-queries=200 --iterations=10 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=myisam,innodb --debug-info

#

备注本次测试以50, 100,200

个并发线程、运行200个查询、迭代 10

次,自动生成 SQL

测试脚本、读、写、更新混合测试、自增长字段、测试引擎为 myisam,innodb

,输出 cpu

资源信息

返回信息如下所示:

http___img0.tuicool.com_eYVvqy.jpg

http___img1.tuicool.com_mMzqe2.jpg

2

、 Demo2

:指定数据库和 sql

语句

mysqlslap  --concurrency=50,100,200 --iterations=10 --number-of-queries=200 --create-schema='OLAP1011' --query='select  MAX(D_TF_YDFH_REALTIME.TDFDFH) as MAX___TDFDFH,D_TF_YDFH_REALTIME.TIME_ID,D_TF_YDFH_REALTIME.TIME_ID from D_TF_YDFH_REALTIME D_TF_YDFH_REALTIME where 1=1 group by D_TF_YDFH_REALTIME.TIME_ID  LIMIT 2000;' --debug-info -uroot -p -S /home/mysql/mysql.sock

#

备注使用 mysqlslap

指定 sql

语句进行测试

http___img2.tuicool.com_MjyaEz.jpg

3

、 Demo3

:测试用例

[root@localhost /]# mysqlslap --concurrency=50,100,200 --iterations=20 --number-int-cols=4 --number-char-cols=35 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=read --engine=myisam,innodb --number-of-queries=200 --verbose --socket=/home/mysql/mysql.sock -uroot -p

#

系统脚本测试,增加 int

型  4

列 char

型 35

列,测试 2

种引擎 myisam,innodb

读的性能,分别用 50

, 100

, 200

个客户端对服务器进行测试总共 200

个查询语句 执行迭代 20

次查询

4

、自建

SQL

测试用例

mysqlslap --create=/yourpath/Test1.sql --query=/yourpath/Test2.sql --concurrency=50,100,200 --iterations=20 --engine=myisam,innodb

-u root -p

#

在设定的

yourpath

目录下创建你的测试

sql

Test1

Test2

并进行

50

100

200

的模拟并发测试

参考:http://blog.chinaunix.net/uid-25723371-id-3498970.html

http://chenhao6.blog.51cto.com/6228054/1314418

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值