参考文献: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. [转]深入理解JavaScript系列

    文章转自:汤姆大叔-深入理解JavaScript系列文章 深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解Ja ...

  2. 配置nginx1.7.8支持pathinfo模式

    vi nginx/conf/nginx.conf 1.修改正则 set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ...

  3. 实用lsof常用命令行

    1, 使用 lsof 命令行列出所有打开的文件 # lsof 这可是一个很长的列表,包括打开的文件和网络 上述屏幕截图中包含很多列,例如 PID.user.FD 和 TYPE 等等. FD - Fil ...

  4. iOS: 学习笔记, 动态添加按钮

    1. 新建iOS -> Single View Application. 2. 个性控制器文件YYViewController.m(此处修改为你相应的控制器文件名) // // YYViewCo ...

  5. require.js 入门学习-备

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  6. [BZOJ 3052] [wc2013] 糖果公园 【树上莫队】

    题目链接:BZOJ - 3052 题目分析 这道题就是非常经典的树上莫队了,并且是带修改的莫队. 带修改的莫队:将询问按照 左端点所在的块编号为第一关键字,右端点所在的块为第二关键字,位于第几次修改之 ...

  7. 自己总结的一些android公共库

    本文主要介绍自己在android开发中总结的一些公共库,目前包括下拉刷新ListView.可以响应各个方向CompoundDrawables点击操作的TextView.图片缓存,不断更新,欢迎交流 ? ...

  8. Android假退出不是流氓行为

    转自Android假退出不是流氓行为 关于Android程序的退出,目前我们没有再用System.exit(0)或killProcess的机制而是直接用Activity.finish假退出了.因此在内 ...

  9. Hidden Password

    zoj1729:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=729 题意:就是求字符串的最小表示,模板题. 题解:直接贴模板. ...

  10. python手记(30)

    #!/usr/bin/env python #-*- coding: utf-8 -*- import cv2 import numpy as np fn="test3.png" ...