设为首页 收藏本站
查看: 569|回复: 0

[经验分享] mysql 压力测试工具

[复制链接]

尚未签到

发表于 2018-10-4 13:31:51 | 显示全部楼层 |阅读模式
  mysql  压力测试工具
  自从mysql5.1 之后就自带有一个压力测试的工具 mysqlslap
  mysqlslap可以自动生成测试脚本 ,也可以使用第三方提供的测试脚本。
  mysqlslap可以测试的指标
  (1).系统的最大并发度
  (2).不同存储引擎之间的性能比较
  (3).系统同一变量设置为不同值时的性能比较
  (4).不同版本之间的性能比较
  mysqlslap 的具体使用方法可以直接查看帮助   mysqlslap --help
  常用的参数有:
  --concurrency代表并发数量,多个可以用逗号隔开,当然你也可以用自己的分隔符隔开,这个时候要用到--delimiter开关。
  --engines代表要测试的引擎,可以有多个,用分隔符隔开。
  --iterations代表要运行这些测试多少次。
  --auto-generate-sql 代表用系统自己生成的SQL脚本来测试。
  --auto-generate-sql-load-type 代表要测试的是读还是写还是两者混合的(read,write,update,mixed)
  --number-of-queries 代表总共要运行多少次查询。每个客户运行的查询数量可以用查询总数/并发数来计算。比如倒数第二个结果2=200/100。
  --debug-info 代表要额外输出CPU以及内存的相关信息。
  --number-int-cols 代表示例表中的INTEGER类型的属性有几个。
  --number-char-cols 意思同上。
  --create-schema 代表自己定义的模式(在MySQL中也就是库)。
  --query 代表自己的SQL脚本。
  --only-print 如果只想打印看看SQL语句是什么,可以用这个选项。
  使用mysqlslap自带脚本压力测试:
  [root@linuxvm01 ~]# mysqlslap --defaults-file=/usr/my.cnf --concurrency=100,200 --iterations=1 --number-int-cols=4 --number-char-cols=35 --auto-generate-sql --auto-generate-sql-add-autoincrement --auto-generate-sql-load-type=mixed --engine=innodb,myisam --number-of-queries=10000 --debug-info -uroot -p
  Enter password:
  Benchmark
  Running for engine innodb
  Average number of seconds to run all queries: 17.092 seconds
  Minimum number of seconds to run all queries: 17.092 seconds
  Maximum number of seconds to run all queries: 17.092 seconds
  Number of clients running queries: 100
  Average number of queries per client: 100
  Benchmark
  Running for engine innodb
  Average number of seconds to run all queries: 17.373 seconds
  Minimum number of seconds to run all queries: 17.373 seconds
  Maximum number of seconds to run all queries: 17.373 seconds
  Number of clients running queries: 200
  Average number of queries per client: 50
  Benchmark
  Running for engine myisam
  Average number of seconds to run all queries: 11.350 seconds
  Minimum number of seconds to run all queries: 11.350 seconds
  Maximum number of seconds to run all queries: 11.350 seconds
  Number of clients running queries: 100
  Average number of queries per client: 100
  Benchmark
  Running for engine myisam
  Average number of seconds to run all queries: 13.761 seconds
  Minimum number of seconds to run all queries: 13.761 seconds
  Maximum number of seconds to run all queries: 13.761 seconds
  Number of clients running queries: 200
  Average number of queries per client: 50
  User time 0.54, System time 0.57

  Maximum resident set>  Non-physical pagefaults 6279, Physical pagefaults 9, Swaps 0
  Blocks in 1776 out 0, Messages in 0 out 0, Signals 0
  Voluntary context switches 74086, Involuntary context switches 42
  输出解释:
  Benchmark
  Running for engine myisam
  Average number of seconds to run all queries: 13.761 seconds
  Minimum number of seconds to run all queries: 13.761 seconds
  Maximum number of seconds to run all queries: 13.761 seconds
  Number of clients running queries: 200
  Average number of queries per client: 50
  10000个请求,200个线程并发执行,每个线程平均完成50个请求。
  使用第三方脚本测试
  [root@linuxvm01 ~]# mysqlslap --defaults-file=/usr/my.cnf --create-schema='test' --concurrency=50,100 --iterations=1 --query='select * from  test.temp01 limit 100 ' --number-of-queries=5000 --debug-info -uroot -p
  Enter password:
  Benchmark
  Average number of seconds to run all queries: 6.133 seconds
  Minimum number of seconds to run all queries: 6.133 seconds
  Maximum number of seconds to run all queries: 6.133 seconds
  Number of clients running queries: 50
  Average number of queries per client: 100
  Benchmark
  Average number of seconds to run all queries: 6.238 seconds
  Minimum number of seconds to run all queries: 6.238 seconds
  Maximum number of seconds to run all queries: 6.238 seconds
  Number of clients running queries: 100
  Average number of queries per client: 50
  User time 1.53, System time 1.46

  Maximum resident set>  Non-physical pagefaults 141862, Physical pagefaults 0, Swaps 0
  Blocks in 0 out 0, Messages in 0 out 0, Signals 0
  Voluntary context switches 504977, Involuntary context switches 43


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-611891-1-1.html 上篇帖子: mysql删除与安装 下篇帖子: mysql 5.6 更换data 目录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表