参考文献: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. ubuntu1404安装配置java环境(jdk8)

    这个安装比较简单,网上也有数不清的教学,我这里记录以下,方便以后万一失忆了回来看看能想起来.个人博客http://www.cnblogs.com/wdfwolf3/ 1.下载安装 言归正传,我们需要到 ...

  2. cocos2d-x Android 环境搭建问题汇总

    初次接触Cocos2d-x,准备搭建一个hello world的Android环境,问题遇到很多.在此记录,为自己,也为大家,避免重走弯路! 具体的环境搭建,可以参考官方的文档.在Windows7平台 ...

  3. Burp Suite Walkthrough

    Burp Suite is one of the best tools available for web application testing. Its wide variety of featu ...

  4. 如何在Webstorm中添加js库 (青瓷H5游戏引擎)

    js等动态语言编码最大的缺点就是没有智能补全代码,webstorm做到了. qici_engine作为开发使用的库,如果能智能解析成提示再好不过了,经测试80%左右都有提示,已经很好了. 其他js库同 ...

  5. Object之魔术函数__call() 处理错误调用

    在提到__call之前,先来看一个实例的测试结果,以便更好地去了解__call方法的作用.上代码: <?php class Person{ function say(){ echo " ...

  6. 2016030101 - ubuntu15.1上安装git客户端

    使用ubutun15.1安装git客户端. 根据git官网提示内容(参考http://git-scm.com/download/linux) 1.使用命令:sudo apt-get install g ...

  7. EF自动生成的(T4模板) 关联属性元数据修改

    为了实现 T4模板关联属性 不要序列化的问题 就是要在具体的 关联属性上面添加一个元数据 这里利用以前的 Newtonsoft.Json 这个框架为例 效果应该为 就是要在关联属性上面添加元数据  [ ...

  8. 正则表达式替换img标签src值!!!

    方法一: 相关链接:http://bbs.csdn.net/topics/320185735 实例:此实例自己做的时候讲字符串加了alt进行了有关修改  不清楚看上面链接 string test = ...

  9. 在Docker下部署Nginx

    在Docker下部署Nginx 在Docker下部署Nginx,包括: 部署一个最简单的Nginx,可以通过80端口访问默认的网站 设置记录访问和错误日志的路径 设置静态网站的路径 通过proxy_p ...

  10. PyCharm如何设置显示行号?

    File->setting->Editor->General->Appearance,勾选Show line numbers