压力测试工具MySQL mysqlslap
MySQL mysqlslap压测
2016-09-12 17:49 by pursuer.chen, 771 阅读, 0 评论, 收藏, 编辑
介绍
mysqlslap是mysql自带的一个性能压测工具;mysqlslap用于和其它的一些性能压测工具一样可以自己造数据进行压测。mysqlslap的报告比较简单主要体现在执行的时间方面,没有sysbench那样的tps、qps等更详细的包括。
参数

--auto-generate-sql -a 自动生成MySQL测试语句
--auto-generate-sql-add-autoincrement 添加AUTO_INCREMENT字段
--auto-generate-sql-execute-number=# 查询的个数
--auto-generate-sql-guid-primary 添加GUID字段
--auto-generate-sql-load-type=name mixed:混合、update:更新、write:写入、key:读主键、read:查询
--auto-generate-sql-secondary-indexes=# 设置索引字段个数
--auto-generate-sql-unique-query-number=# 生成N条不同的query sql语句
--auto-generate-sql-unique-write-number=# 生成N条不同的write sql语句
--auto-generate-sql-write-number=# 每个线程write sql语句数量
--commit=# 设置每多少条sql语句提交一次
--compress -C 启用压缩协议
--concurrency=# -c 客户端数量(并发量)
--create=name 测试的SQL语句或文件
--create-schema=name 测试的数据名
--csv=name 生产CSV格式数据文件
--debug -# 写调试日志(windows不可用) 如:mysqlslap -a -#"d:t:o,c:/debug.txt"
--debug-check 测试后打印调试信息(windows不可用)
--debug-info -T 打印内存和CPU的相关信息
--default-auth=plugin 验证插件
--delimiter=str -F 语句分隔符默认是 ;
--detach=# 执行N条语句后断开重连
--enable-cleartext-plugin 启用明文身份验证插件
--engine=engine_name -e 测试引擎 如:mysqlslap -e"myisam"或-e"myisam,innodb"
--help 帮助信息
--host=host_name -h 数据库host
--iterations=# -i 重复运行的次数
--login-path=name 登陆配置文件
--no-drop 测试后不删除schema
--number-char-cols=# -x 设置VARCHAR类型字段数量
--number-int-cols=# -y 设置INT类型字段数量
--number-of-queries=# 每个客户端运行sql语句数量
--only-print 仅显示将被运行的SQL语句--delimiter选项影响
--password=password -p 数据库密码
--pipe 启用管道
--plugin-dir=path 插件目录
--port=port_num -P 数据库端口
--post-query=value 测试后执行的SQL语句
--post-system=str 测试后执行的系统语句
--pre-query=value 测试前执行的SQL语句
--pre-system=str 测试前执行的系统语句
--protocol=type 链接协议 tcp, socket, pipe
--query=value -q 测试的SQL语句 如:mysqlslap --query="SELECT * FROM t1"
--secure-auth 不要发送密码到服务器
--silent -s 不显示测试(静音测试)
--socket=path -S 连接服务器的socket
--ssl-ca=file_name
--ssl-capath=dir_name
--ssl-cert=file_name
--ssl-cipher=cipher_list
--ssl-crl=file_name
--ssl-crlpath=dir_name
--ssl-key=file_name
--ssl-verify-server-cert
--user=user_name -u 数据库用户名
--verbose -v 输出更多的信息
--version -V 版本信息

例
1.分别测试100、200、400个并发执行10w条SQL。
mysqlslap -uroot -proot -h192.168.10.43 -P3306 --create-schema=chenmh --delimiter=";" --query="call pro_auto_select_pri" --concurrency=100,200,400 --number-of-queries=100000

注意:报告输出的时间主要体现在执行完--number-of-queries指定的查询所花的时间,这里分别是100个并发、200个并发、400个并发执行10w条call所花的时间。默认不指定--iterations代表重复执行一次操作,如果重复执行N此输出的时间也是反应的是单次循环所花的时间。
2.生成csv
mysqlslap -a -e"myisam,innodb" --csv="c:/a.csv"
总结
mysqlslap主要还是针对数据库的性能测试,并且自动测试功能有限,而且生产报表也不够详细,所以建议还是使用sysbench来做基准测试。
压力测试工具MySQL mysqlslap的更多相关文章
- MySQL数据库基准压力测试工具之MySQLSlap使用实例
一.Mysqlslap介绍 mysqlslap是MySQL5.1之后自带的benchmark基准测试工具,类似Apache Bench负载产生工具,生成schema,装载数据,执行benckmark和 ...
- mysql之 mysql数据库压力测试工具(mysqlslap)
mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具.通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个存 ...
- MySQL自带的性能压力测试工具mysqlslap
mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具. 通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个 ...
- mysqlslap 一个MySQL数据库压力测试工具
在Xen/KVM虚拟化中,一般来说CPU.内存.网络I/O的虚拟化效率都非常高了,而磁盘I/O虚拟化效率较低,从而磁盘可能会是瓶颈.一般来说,数据库对磁盘I/O要求比较高的应用,可以衡量一下在客户机中 ...
- mysql压力测试工具Mysqlslap
mysql 性能测试工具:The MySQL Benchmark Suite(不支持多CPU而且不是压力工具) 压力测试工具: MySQL super-smack:需要找能连接外网的机器,能连接外网的 ...
- (转)MySQL自带的性能压力测试工具mysqlslap详解
mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...
- 数据库相关文章转载(2) MySQL自带的性能压力测试工具mysqlslap详解
PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...
- (总结)MySQL自带的性能压力测试工具mysqlslap详解
PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一 ...
- Mysql 压力测试工具 mysqlslap
转载至文章作者:杜亦舒 链接:https://www.sdk.cn/news/4512 来源:SDK.cn 摘要:mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数 ...
随机推荐
- 【转】【iOS测试系列】常用测试小插件的使用
背景介绍 由于iOS系统的限制,在非越狱的自动化测试中无法实现一些常用的功能,比如不同应用之间来回切换.模拟全局的点击事件等等.但是在越狱的环境下,这些限制就不存在了,我们可以利用各种小插件来实现我们 ...
- C++标准库之mutex
互斥锁有可重入.不可重入之分.C++标准库中用mutex表示不可重入的互斥锁,用recursive_mutex表示可重入的互斥锁.为这两个类增加根据时间来阻塞线程的能力,就又有了两个新的互斥锁:tim ...
- MyBatis常用对象SqlSessionFactory和SqlSession介绍和运用
学习框架一个比较好的路径阅读源码.本文介绍的SqlSessionFactory和SqlSession.可以通过了解SqlSessionFactory接口和SqlSession接口以及两个的实现类入手, ...
- (转)内核container_of(ptr,type,member) 解析
container_of(ptr,type,member) 用于在已知结构体里面成员member和该成员指针ptr(就是地址)和结构体类型type, 返回该成员所在的结构体的指针(就是地址), 例如 ...
- ThinkPHP项目笔记之MVC篇
题记:网上关于ThinkPHP的介绍,不计其数,有文档,示例,代码片段以及其他等.毕竟自己掌握的,才是自己的. 所以,趁着做的项目(当然用的是thinkphp框架)的余热,奋笔疾书,一个人的理解与拙笔 ...
- angularJs 多文件动态上传(删除其中一个文件的时候,要么file没被删除,要么删除了之后,点击事件失效)
<div cacModule.controller('CacScriptEditCtrl', CacScriptEditCtrl); CacScriptEditCtrl.$inject = [' ...
- 使用webdriverwait封装查找元素方法
对于selenium原生的查找元素方法进行封装,在timeout规定时间内循环查找页面上有没有某个元素 这样封装的好处: 1.可以有效提高查找元素的效率,避免元素还没加载完就抛异常 2.相对于time ...
- Django学习笔记第一篇--Hello,Django
一.Django的安装: 1.python虚拟运行的环境的安装以及安装django: sudo pip install virtualenv export VIRTUALENV_DISTRINUTR= ...
- LeetCode 笔记系列11 First Missing Positive [为什么我们需要insight]
题目: Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2 ...
- ng2-file-upload上传附件同时传参
由于业务需要,需要的场景是发某条公告的时候能够上传附件,不只是图片,图片的话可以直接用base64传给后台,但上传附件这个就不能这样干了, 与此同时,每条公告都有一个对应的唯一标识id, 附件以文件流 ...