前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql benchmark基准测试

mysql benchmark基准测试

作者头像
菩提树下的杨过
发布2018-01-18 16:54:55
2.8K0
发布2018-01-18 16:54:55
举报

git项目地址:

https://github.com/akopytov/sysbench

利用sysbench很容易对mysql做性能基准测试(当然这个工具很强大,除了测试主流数据库性能,还能测试其它方面,详情自己看官网项目文档)

mac上的用法:

一、安装?

brew install sysbench

二、先在mysql上创建一个专门的测试数据库,比如test

三、利用sysbench先生成测试数据?

代码语言:javascript
复制
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:如果想知道还有哪些参数可用,可输入命令

代码语言:javascript
复制
sysbench --test=oltp help

centos上如果用yum install sysbench安装的话,运行时可能会出现

FATAL: no database driver specified FATAL: failed to initialize database driver!

可以加上参数?--db-driver=mysql ,原因是yum方式安装时,同时安装了mysql与其它数据库的驱动,不指定驱动类型的话,sysbench不知道你是要测试是mysql,还是oracle之类的其它数据库

四、运行测试

代码语言:javascript
复制
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就行了,测试完后,会输出类似以下结果:

代码语言:javascript
复制
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

一般我们比较关心:

代码语言:javascript
复制
    transactions:                        10000  (514.48 per sec.)

    read/write requests:                 190000 (9775.14 per sec.)

这代表每秒能处理的事务数,以及每秒的读写次数。

五、清理测试数据

代码语言:javascript
复制
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即可。 

春晚实在太无聊了,还不如写二行代码有意思,祝各位园友猴年大吉,身体健康,心想事成!

本文参与?腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体同步曝光计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com