mysql benchmark基准测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql benchmark基准测试相关的知识,希望对你有一定的参考价值。
git项目地址:
https://github.com/akopytov/sysbench
利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其它方面,详情自己看官网项目文档)
mac上的用法:
一、安装
brew install sysbench
二、先在mysql上创建一个专门的测试数据库,比如test
三、利用sysbench先生成测试数据
sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=*** prepare
上面这一堆的意思,是在本机localhost的test数据库的t_test中创建500万条测试数据,表的数据库引擎为innodb.
tips:如果想知道还有哪些参数可用,可输入命令
sysbench --test=oltp help
四、运行测试
sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=*** run
最后一个prepare改成run就行了,测试完后,会输出类似以下结果:
sysbench 0.4.12: multi-threaded system evaluation benchmark No DB drivers specified, using mysql Running the test with following options: Number of threads: 1 Doing OLTP test. Running mixed OLTP test Using Special distribution (12 iterations, 1 pct of values are returned in 75 pct cases) Using "BEGIN" for starting transactions Using auto_inc on the id column Maximum number of requests for OLTP test is limited to 10000 Threads started! Done. OLTP test statistics: queries performed: read: 140000 write: 50000 other: 20000 total: 210000 transactions: 10000 (514.48 per sec.) deadlocks: 0 (0.00 per sec.) read/write requests: 190000 (9775.14 per sec.) other operations: 20000 (1028.96 per sec.) Test execution summary: total time: 19.4371s total number of events: 10000 total time taken by event execution: 19.3581 per-request statistics: min: 1.65ms avg: 1.94ms max: 13.48ms approx. 95 percentile: 2.34ms Threads fairness: events (avg/stddev): 10000.0000/0.00 execution time (avg/stddev): 19.3581/0.00
一般我们比较关心:
transactions: 10000 (514.48 per sec.) read/write requests: 190000 (9775.14 per sec.)
这代表每秒能处理的事务数,以及每秒的读写次数。
五、清理测试数据
sysbench --test=oltp --oltp-table-size=5000000 --oltp-table-name=t_test --mysql-table-engine=innodb --mysql-host=localhost --mysql-db=test --mysql-user=root --mysql-password=*** cleanup
最后一个换成cleanup即可。
春晚实在太无聊了,还不如写二行代码有意思,祝各位园友猴年大吉,身体健康,心想事成!
以上是关于mysql benchmark基准测试的主要内容,如果未能解决你的问题,请参考以下文章
解读 ruby 的基准测试结果:Benchmark.bm 和 Benchmark.bmbm 的区别