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

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

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

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

   

四、运行测试

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即可。 

 

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

时间: 2024-08-03 13:33:05

mysql benchmark基准测试的相关文章

黄金法则:MySQL基准测试最佳实践

MySQL基准测试在数据库性能优化中是一个非常重要的分支.本文目的在于让读者对关系型数据库系统有一个基本的了解,掌握MySQL以及如何管理使用Linux.文中讨论了MySQL性能因素以及如何测试CPU性能,同时使用具体的例子来展示几种实用的测试MySQL系统的实践方法. 为什么数据库管理员要在MySQL系统上运行基准测试呢?答案显而易见,倘若在一个模拟的实时环境中系统设计能够承受住压力并且满足性能目标,那么数据库管理员也无需大费周章了. 在深入了解MySQL基准测试程序机制前,弄清楚什么是基准测

MySQL性能、监控与灾难恢复

原文:MySQL性能.监控与灾难恢复 监控方案:     up.time    http://www.uptimesoftware.com/    收费     Cacti        http://www.cacti.net/     KDE System Guard(KSysGuard)                      http://docs.kde.org/stable/en/kdebase-workspace/ksysguard/index.html     Gnome Sy

什么是基准测试?

基准测试(benchmarking)是一种测量和评估软件性能指标的活动.你可以在某个时候通过基准测试建立一个已知的性能水平(称为基准线),当系统的软硬件环境发生变化之后再进行一次基准测试以确定那些变化对性能的影响.这是基准测试最常见的用途.其他用途包括测定某种负载水平下的性能极限.管理系统或环境的变化.发现可能导致性能问题的条件,等等. 基准测试的具体做法是:在系统上运行一系列测试程序并把性能计数器的结果保存起来.这些结构称为"性能指标".性能指标通常都保存或归档,并在系统环境的描述中

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

一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直观的验证依据,笔者建议系统运维人员应该掌握一些常见的压力测试工具,这样才能较为准确的掌握线上系统能够支撑的用户

sysbench对mysql压力测试的详细教程_Mysql

前言 在对网站整体性能进行benchmark时,可以使用多种工具,比如大名鼎鼎的ab(Apache bench),http_load等工具.这里我们不关注他们的使用,如果你想了解,可以自行在网上找到答案. 重点来说MySQL的基准测试如何进行,也有很多种工具来供我们选择,比如mysqlslap.sysbench.Super Smack等,其中mysqlslap的使用MySQL官网给出了介绍,Super Smack是服务器压力测试强有力的工具,那么sysbench便是我们进行MySQL基准测试的很

MySQL压测工具mysqlslap的介绍与使用_Mysql

一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直观的验证依据,笔者建议系统运维人员应该掌握一些常见的压力测试工具,这样才能较为准确的掌握线上系统能够支撑的用户

MySQL数据库优化方法总结

中介交易 SEO诊断 淘宝客 云主机 技术大厅 数据库优化是一项很复杂的工作,因为这最终需要对系统优化的很好理解才行.尽管对系统或应用系统的了解不多的情况下优化效果还不错,但是如果想优化的效果更好,那么就需要对它了解更多才行. 1.优化概述 让系统运行得快得最重要因素是数据库基本的设计.并且还必须清楚您的系统要用来做什么,以及存在的瓶颈. 最常见的系统瓶颈有以下几种: 磁盘搜索.它慢慢地在磁盘中搜索数据块.对现代磁盘来说,平时的搜索时间基本上小于10毫秒,因此理论上每秒钟可以做100次磁盘搜索.

mysql服务器性能测试怎么做

问题描述 mysql服务器性能测试怎么做 本人新搭建好一个mysql服务器,它的性能和处理能力该怎样来测试呢?包括用哪个工具,关注哪些性能参数? 解决方案 有很多这样的工具,比如说 mysqlslap Super-smack MySQL Benchmark loadrunner 但是不是说用工具就能准确度量出你的服务器性能了,因为工具仅仅是工具,压力测试仅仅是模拟测试. 真实场景下业务是多种多样的,用户的真实访问,真实的数据和查询请求不是简单靠工具能模拟出来的,dba的经验在这里非常关键. 解决

mysql的高性能压力测试

前言:根据业务需要,需测试mysql 性能和压力测试. 这里我说下测试方法和 测试过程以及测试中出错的问题 估计很多人 跟我一样 要测试mysql 的性能 压力,网上找了很多资料有很多,但是很乱,所以这里我做个总结,拿自己的真实服务器测试的.并且 想测多少数据 都能模拟出来!这里只介绍方法. MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问 mysql来执行测试. [root@localhost smacks]# mysql -V mysql  Ve