MySQL从5.1.4版开始带有一个压力测试工具mysqlslap,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常简单,通过mysqlslap –help可以获得可用的选项。这里列一些主要的参数,更详细的说明参考官方手册

-a, --auto-generate-sql
自动生成测试表和数据
--auto-generate-sql-load-type=name
测试语句的类型。取值包括:read,key,write,update和mixed(默认)
-x, --number-char-cols=N
自动生成的测试表中包含多少个字符类型的列,默认1
-y, --number-int-cols=N
自动生成的测试表中包含多少个数字类型的列,默认1
--number-of-queries=N
总的测试查询次数(并发客户数×每客户查询次数)
-q, --query=name
使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试
--create-schema=name
测试的schema,MySQL中schema也就是database,默认生成一个mysqlslap
--commit=N
多少条DML后提交一次
-C, --compress
如果服务器和客户端支持都压缩,则压缩信息传递
-c, --concurrency=N
并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者–delimiter参数指定的值做为分隔符
-e, --engine=name
创建测试表所使用的存储引擎,可指定多个
-i, --iterations=N
测试执行的迭代次数
--detach=N
执行N条语句后断开重连
-T, --debug-info
打印内存和CPU的信息
--only-print
只打印测试语句而不实际执行

打印测试语句

[root@VMUest ~]# mysqlslap -a --only-print
DROP SCHEMA IF EXISTS `mysqlslap`;
CREATE SCHEMA `mysqlslap`;
use mysqlslap;
CREATE TABLE `t1` (intcol1 INT() ,charcol1 VARCHAR());
INSERT INTO t1 VALUES (,'mxvtvmC9127qJNm06sGB8R92q2j7vTiiITRDGXM9ZLzkdekbWtmXKwZ2qG1llkRw5m9DHOFilEREk3q7oce8O3BEJC0woJsm6uzFAEynLH2xCsw1KQ1lT4zg9rdxBL');
...
SELECT intcol1,charcol1 FROM t1;
INSERT INTO t1 VALUES (,'qMa5SuKo4M5OM7ldvisSc6WK9rsG9E8sSixocHdgfa5uiiNTGFxkDJ4EAwWC2e4NL1BpAgWiFRcp1zIH6F1BayPdmwphatwnmzdwgzWnQ6SRxmcvtd6JRYwEKdvuWr');
DROP SCHEMA IF EXISTS `mysqlslap`;

分别50和100个并发,执行 1000次总查询,迭代5次,不同的存储引擎

[root@VMUest ~]# mysqlslap -a -h192.168.85. -umydba -pmysql5635 -P3306 --concurrency=, --number-of-queries  --iterations= --engine=myisam,innodb --debug-info
Warning: Using a password on the command line interface can be insecure.
Benchmark
Running for engine myisam
Average number of seconds to run all queries: 0.432 seconds
Minimum number of seconds to run all queries: 0.382 seconds
Maximum number of seconds to run all queries: 0.532 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: 0.512 seconds
Minimum number of seconds to run all queries: 0.414 seconds
Maximum number of seconds to run all queries: 0.710 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: 0.898 seconds
Minimum number of seconds to run all queries: 0.606 seconds
Maximum number of seconds to run all queries: 1.520 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: 0.744 seconds
Minimum number of seconds to run all queries: 0.606 seconds
Maximum number of seconds to run all queries: 0.954 seconds
Number of clients running queries:
Average number of queries per client: User time 1.47, System time 2.65
Maximum resident set size , Integral resident set size
Non-physical pagefaults , Physical pagefaults , Swaps
Blocks in out , Messages in out , Signals
Voluntary context switches , Involuntary context switches

在sakila库上测试并发

[root@VMUest ~]# mysqlslap -h192.168.85. -umydba -pmysql5635 -P3306 --create-schema=sakila --query="select * from actor where actor_id=19" --concurrency= --number-of-queries  --iterations=

压测:mysqlslap的更多相关文章

  1. 使用mysqlslap对mysql进行压测,观察Azure虚拟机cpu使用率

    一直想做这个测试,原因很简单,很多人一直比较怀疑Azure的虚拟机性能,说相同的配置凭啥比阿里的虚拟机贵那么多,其实,我自己以前也怀疑过,但是接触Azure的几个月,确实发现Azure的虚拟机性能真的 ...

  2. MySQL mysqlslap压测

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

  3. mysqlslap压测

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

  4. mysql自带压测工具--mysqlslap

    mysqlslap  压测 mysql 5.7.20 目前版本,打印不出内存.cpu使用信息 mysqlslap -h192.168.9.60 -P4406 -uroot -p --create-sc ...

  5. mysql常用压测工具

    关键字:mysql压测工具 mysqlslap.sysbench  基准测试sysbench 压力测试 tpcc  具体怎么使用百度

  6. mysql集群压测

    mysql压测 mysql自带就有一个叫mysqlslap的压力测试工具,通过模拟多个并发客户端访问MySQL来执行压力测试,并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别.通过mysql ...

  7. MySQL 压测

    https://mp.weixin.qq.com/s/vKJZp5cGUetHokGh2EZUXg mysqlslap --iterations=100 --create-schema='test' ...

  8. mysql每秒最多能插入多少条数据 ? 死磕性能压测

    前段时间搞优化,最后瓶颈发现都在数据库单点上. 问DBA,给我的写入答案是在1W(机械硬盘)左右. 联想起前几天infoQ上一篇文章说他们最好的硬件写入速度在2W后也无法提高(SSD硬盘) 但这东西感 ...

  9. Http压测工具wrk使用指南

    用过了很多压测工具,却一直没找到中意的那款.最近试了wrk感觉不错,写下这份使用指南给自己备忘用,如果能帮到你,那也很好. 安装 wrk支持大多数类UNIX系统,不支持windows.需要操作系统支持 ...

  10. 真刀真枪压测:基于TCPCopy的仿真压测方案

    郑昀 基于刘勤红和石雍志的实践报告 创建于2015/8/13 最后更新于2015/8/19 关键词:压测.TCPCopy.仿真测试.实时拷贝流量 本文档适用人员:技术人员 提纲: 为什么要做仿真测试 ...

随机推荐

  1. dfs套异或的包含性——cf986C好

    很好的题,想了半天,官方题解的解法更好 这种异或问题的包含性在北邮的校赛里就出现过,需要认真学习一下 /* y和所有合法的x合并,如果没有剪枝,那么复杂度爆炸总共要判(2^n*2^n) 可以考虑如下优 ...

  2. tarjan强连通分量 (模板)

    #include<iostream> #include<cstdio> using namespace std; const int MAXN = 10005; struct ...

  3. NOIp2018集训test-9-17(pm)

    T1记忆(memory) 我大概是只记忆只有七秒的金鱼吧.看了下以前的代码发现真的很简单,但是考场上只打了个暴力,虽然骗了88pt.就是枚举选的是哪个串,然后vis[i]表示选了i这些位能不能猜出它, ...

  4. c# ToString()格式大全(转)

    stringstr1 =string.Format("{0:N1}",56789);               //result: 56,789.0stringstr2 =str ...

  5. error-Java-web:20190618

    ylbtech-error-Java-web:20190618 1.返回顶部 1. org.springframework.beans.factory.UnsatisfiedDependencyExc ...

  6. linux在不关机情况下新增硬盘的方法

    开机状态插入硬盘 不关机执行命令 echo "- - -" > /sys/class/scsi_host/host0/scan 注意 echo "- - -&quo ...

  7. 反射Reflection

    using System; using System.Collections.Generic; using System.Linq; using System.Reflection;// <-- ...

  8. 10.2 External interrupt/event controller (EXTI)

    EXTI控制器的主要特点如下: 每个中断/事件线上的独立触发器和掩码 每个中断行的专用状态位 生成最多20个软件事件/中断请求 脉冲宽度小于APB2时钟周期的外部信号检测. 每条中断线路的专用状态位生 ...

  9. A1075 PAT Judge (25 分)

    The ranklist of PAT is generated from the status list, which shows the scores of the submissions. Th ...

  10. mysql安装总结

    #mysql安装# 安装工具:yum -y install gcc-c++ ncurses cmake make ncurses-devel # 拷贝配置文件到指定目录:rm -rf /etc/my. ...