为了账号安全,请及时绑定邮箱和手机立即绑定

MySQL基准测试工具-mysqlslap

标签:
MySQL


  mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。

      使用方式:

      --concurrency  并发数量 (可逗号隔开),例如:concurrency=10,50,100 并发连接线程数是10,50,100

      --engines 要测试的存储引擎,逗号隔开

      --iterations   运行多少次后,得到结果;

      --auto-generate-sql  自动生成SQL脚本来测试;

      --auto-generate-sql-load-type  测试类型是read还是write,还是mixed;(可以使用--only-print 查看到底是哪些SQL语句)

      --number-of-queries 执行查询的次数,

      --debug-info  输出CPU、内存等系统相关信息

      --number-int-cols  测试表int字段类型的数量;

      --auto-generate-sql-add-autoincrement  对生成的测试表 自动生成含有auto_increment属性的列;

      --number-char-cols  测试表的char类型字段的数量;

      --create-schema = db  创建测试的数据库;

      --query 使用自定义脚本进行测试, 可以是一个存储过程或者SQL语句来执行;

      --only-print  只打印测试过程中涉及到的SQL语句,不真正的执行;

  举例:

  测试200个并发写入性能,测试20次,自动生成SQL脚本,测试表包含35个int字段,20个char字段,测试引擎分别为innodb,myisam;每次执行3000个query;

 

./bin/mysqlslap --socket=/usr/local/mysql/mysql.sock --port=3306 --concurrency=200  --iterations=20 --auto-generate-sql --auto-generate-sql-load-type=write  --auto-generate-sql-add-autoincrement --number-int-cols=35 --number-char-cols=20  --engine=innodb,myisam   --create-schema=sysbench  --number-of-queries=3000 --debug-info

        结果为:

       

Benchmark

        Running for engine innodb

        Average number of seconds to run all queries: 6.385 seconds

        Minimum number of seconds to run all queries: 3.021 seconds

        Maximum number of seconds to run all queries: 12.969 seconds

        Number of clients running queries: 200

        Average number of queries per client: 15

Benchmark

        Running for engine myisam

        Average number of seconds to run all queries: 0.621 seconds

        Minimum number of seconds to run all queries: 0.442 seconds

        Maximum number of seconds to run all queries: 1.134 seconds

        Number of clients running queries: 200

        Average number of queries per client: 15

User time 0.66, System time 1.97

Maximum resident set size 10060, Integral resident set size 0

Non-physical pagefaults 50486, Physical pagefaults 5, Swaps 0

Blocks in 584 out 96, Messages in 0 out 0, Signals 0

Voluntary context switches 298373, Involuntary context switches 1469

自定义SQL测试脚本:

 

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

©著作权归作者所有:来自51CTO博客作者位鹏飞的原创作品,如需转载,请注明出处,否则将追究法律责任

mysqlslapmysql测试数据库


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消