参考文献:http://my.oschina.net/costaxu/blog/108568

上面网友详细的列举了用mysqlslap对mysql的压力测试结果,我也照葫芦画瓢试了一次,结果如下:

以下命令代表:用10个并发连接,对一个有10个int列,10个varchar列,两个索引的表进行写操作

mysqlslap   --concurrency= --iterations=  --number-int-cols=  --number-char-cols= -a --auto-generate-sql-add-autoincrement --number-of-queries=  --auto-generate-sql-load-type=write -auto-generate-sql-secondary-indexex=  --engine=myisam,innodb -h10.210.214. -P3306 -uroot -proot --debug-info

结果:

Benchmark
Running for engine myisam
Average number of seconds to run all queries: 0.694 seconds
Minimum number of seconds to run all queries: 0.694 seconds
Maximum number of seconds to run all queries: 0.694 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 3.446 seconds
Minimum number of seconds to run all queries: 3.446 seconds
Maximum number of seconds to run all queries: 3.446 seconds
Number of clients running queries:
Average number of queries per client:

TPS:

myisam=7205

innodb=1451

通过改变参数--concurrency=50和--concurrency=100来更改并发数,分别试验两次,结果如下:

mysqlslap   --concurrency= --iterations=  --number-int-cols=  --number-char-cols= -a --auto-generate-sql-add-autoincrement --number-of-queries=  --auto-generate-sql-load-type=write -auto-generate-sql-secondary-indexex=  --engine=myisam,innodb -h10.210.214. -P3306 -uroot -proot --debug-info

Benchmark
Running for engine myisam
Average number of seconds to run all queries: 8.991 seconds
Minimum number of seconds to run all queries: 8.991 seconds
Maximum number of seconds to run all queries: 8.991 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 46.858 seconds
Minimum number of seconds to run all queries: 46.858 seconds
Maximum number of seconds to run all queries: 46.858 seconds
Number of clients running queries:
Average number of queries per client:
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 9.687 seconds
Minimum number of seconds to run all queries: 9.687 seconds
Maximum number of seconds to run all queries: 9.687 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 57.171 seconds
Minimum number of seconds to run all queries: 57.171 seconds
Maximum number of seconds to run all queries: 57.171 seconds
Number of clients running queries:
Average number of queries per client: mysqlslap --concurrency= --iterations= --number-int-cols= --number-char-cols= -a --auto-generate-sql-add-autoincrement --number-of-queries= --auto-generate-sql-load-type=write -auto-generate-sql-secondary-indexex= --engine=myisam,innodb -h10.210.214. -P3306 -uroot -proot --debug-info Benchmark
Running for engine myisam
Average number of seconds to run all queries: 7.060 seconds
Minimum number of seconds to run all queries: 7.060 seconds
Maximum number of seconds to run all queries: 7.060 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 44.711 seconds
Minimum number of seconds to run all queries: 44.711 seconds
Maximum number of seconds to run all queries: 44.711 seconds
Number of clients running queries:
Average number of queries per client:
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 6.730 seconds
Minimum number of seconds to run all queries: 6.730 seconds
Maximum number of seconds to run all queries: 6.730 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 39.591 seconds
Minimum number of seconds to run all queries: 39.591 seconds
Maximum number of seconds to run all queries: 39.591 seconds
Number of clients running queries:
Average number of queries per client:

并发50 myisam   TPS= 5354

并发50 innodb    TPS= 961

并发100 myisam TPS= 7252

并发100 innodb  TPS= 1186

下面又测试了读的性能:

mysqlslap   --concurrency= --iterations=  --number-int-cols=  --number-char-cols= -a --auto-generate-sql-add-autoincrement --auto-generate-sql-unique-query-number=  --auto-generate-sql-load-type=key --number-of-queries=  --engine=myisam,innodb -h10.210.214. -P3306 -uroot -proot --debug-info

Benchmark
Running for engine myisam
Average number of seconds to run all queries: 4.172 seconds
Minimum number of seconds to run all queries: 4.071 seconds
Maximum number of seconds to run all queries: 4.274 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 4.094 seconds
Minimum number of seconds to run all queries: 4.070 seconds
Maximum number of seconds to run all queries: 4.118 seconds
Number of clients running queries:
Average number of queries per client: mysqlslap --concurrency= --iterations= --number-int-cols= --number-char-cols= -a --auto-generate-sql-add-autoincrement --auto-generate-sql-unique-query-number= --auto-generate-sql-load-type=key --number-of-queries= --engine=myisam,innodb -h10.210.214. -P3306 -uroot -proot --debug-info
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 4.212 seconds
Minimum number of seconds to run all queries: 4.134 seconds
Maximum number of seconds to run all queries: 4.290 seconds
Number of clients running queries:
Average number of queries per client: Benchmark
Running for engine innodb
Average number of seconds to run all queries: 4.232 seconds
Minimum number of seconds to run all queries: 4.125 seconds
Maximum number of seconds to run all queries: 4.339 seconds
Number of clients running queries:
Average number of queries per client:

具体数值不用算了,TPS都在10000+

结论:

myisam和innodb两种引擎下,读时性能差不多,写时myisam比innodb要强很多

另外,读时TPS=10000+,这个结果我压根就不信,完全随机的读硬盘的话,硬盘的IOPS大概也就几百左右,因此10000+的结果原因可能为:

a: 测试表中数据太少,数据基本都被缓存了,直接都是从缓存中读的数据

b:mysqlslap生成的SQL语句不够随机,读时永远都是那么几条数据,肯定就命中缓存了

所以以上结果仅供参考罢了。。。。

参考文献中的作者思路很清晰,但用并发数=2来测试未免有点太小气了,所以他的数值肯定没有什么参考价值了

用mysqlslap压测mysql的更多相关文章

  1. mysqlslap压测

    mysqlslap 是MySQL自带的压测工具: -P --create-schema=test -S /tmp/mysql_sandbox18601.sock --number-of-queries ...

  2. sysbench 环境安装,压测mysql

    源码路径:https://github.com/akopytov/sysbench 版本linux 6.8sysbench 0.5mysql 5.6.29 1.安装pip略 2.pip 安装bzr p ...

  3. jmeter压测mysql数据库

    jmeter连接并压测mysql数据库,之前一直想用jmeter一下测试mysql数据库的性能,今天偶然看到一篇博客,于是乎开始自己动手实践. 一.准备工作 1.安装好mysql数据库,可以安装在本地 ...

  4. MySQL mysqlslap压测

    200 ? "200px" : this.width)!important;} --> 介绍 mysqlslap是mysql自带的一个性能压测工具:mysqlslap用于和其 ...

  5. 【Jmeter】压测mysql数据库中间件mycat

    背景 因为博主所负责测试的项目需要数据库有较大的吞吐量,在最近进行了升级,更新了一个数据库中间件 - - mycat.查询了一些资料,了解到这是阿里的一个开源项目,基于mysql,是针对磁盘的读与写, ...

  6. 用sysbench压测MySQL,通过orzdba监控MySQL

    1.1 安装sysbench wget https://codeload.github.com/akopytov/sysbench/zip/0.5 unzip 0.5 cd sysbench-0.5/ ...

  7. mysqlslap 压测工具使用说明

    PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...

  8. 【Jmeter 压测MySql连接问题】

    JDBC Request :Cannot load JDBC driver class 'com.mysql.jdbc.Driver'解决办法   在Jmeter中run JDBC Request时, ...

  9. sysbench压测mysql

    MySQL数据库测试 select   1.先创建数据库test,再准备数据 time /usr/local/sysbench/bin/sysbench --test=oltp --num-threa ...

随机推荐

  1. Python:文件操作

    #!/usr/bin/python3 str1 = input("请输入:") print("你输入的是:",str1) f=open("abc.tx ...

  2. 小知识 Vector的枚举 和foreach的用法

    package com.java.c.votetor.www; import java.util.Enumeration;import java.util.Iterator;import java.u ...

  3. 南理第八届校赛同步赛-F sequence//贪心算法&二分查找优化

    题目大意:求一个序列中不严格单调递增的子序列的最小数目(子序列之间没有交叉). 这题证明贪心法可行的时候,可以发现和求最长递减子序列的长度是同一个方法,只是思考的角度不同,具体证明并不是很清楚,这里就 ...

  4. easyui-combobox小Demo

    <script type="text/javascript"> $("#Function_TypeSelect").combobox({ onSel ...

  5. Python: 设计模式 之 工厂模式例(1)

    #!/usr/bin/env python #coding=utf-8 # # 工厂模式一例 # 版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126) ...

  6. linux平台上面python调用c

    不能免俗,先打印个helloworld出来,c代码的函数 hello.c #include <stdio.h> int helloworld() { printf("hello ...

  7. 2016022604 - redis命令介绍

    Redis keys命令用于在Redis的管理键. Redis keys命令使用语法如下所示: redis最新版本目前是3.0.7 redis 127.0.0.1:6379> COMMAND K ...

  8. 2016 Multi-University Training Contest 2 第一题Acperience

    Acperience Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Probl ...

  9. 转: QtCreator调试程序时GDB崩溃

    这个情况出现在QtCreator的2.5版以上,是由于新版QtCreator至少需要7.2 IIRC版的GDB.可以到:http://builds.qt-project.org/job/gdb-win ...

  10. 2015_WEB页面前端工程师_远程测题_东方蜘蛛_1

    请使用HTML+CSS实现如下效果: 1. 使用CSS Sprites,实现如图1效果,素材图片为: icons.png: 2. 使用脚本语言验证邮箱.密码的必填以及邮箱的合法性: 若验证失败,则出现 ...