MySQL mysqlslap压测

200 ? "200px" : this.width)!important;}
-->

介绍

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来做基准测试。


备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

时间: 2024-08-07 06:45:13

MySQL mysqlslap压测的相关文章

mysqlslap 压测工具使用说明

PS:今天一同事问我有木有比较靠谱的mysql压力测试工具可用.其实mysql自带就有一个叫mysqlslap的压力测试工具,还是模拟的不错的.下面举例说说.mysqlslap是从5.1.4版开始的一个MySQL官方提供的压力测试工具.通过模拟多个并发客户端访问MySQL来执行压力测试,同时详细的提供了“高负荷攻击MySQL”的数据性能报告.并且能很好的对比多个存储引擎在相同环境下的并发压力性能差别.通过mysqlslap –help可以获得可用的选项,这里列一些主要的参数,更详细的说明参考官方

sysbench对MySQL的压测,使用sysbench压测磁盘io

QPS - query per secondTPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ.sysbench测试框架 Ⅱ.常用测试脚本 [[email protected]_42_63_centos lua]# pwd /usr/local/src/sysbench-master/src/lua [[email protected]_42_63_centos lua]# ll *.lua -rwxr-xr-x 1 root root

sysbench对MySQL的压测

QPS - query per second TPS - transaction per second 不是特别关注,每个业务场景中事务标准是不一样的 Ⅰ.sysbench测试框架 Ⅱ.常用测试脚本 [[email protected]_42_63_centos lua]# pwd /usr/local/src/sysbench-master/src/lua [[email protected]_42_63_centos lua]# ll total 132 -rwxr-xr-x 1 root

压力测试工具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-gener

压测mysql连接数

Mysql server 支持的最大连接数 主机的性能直接影响到Mysql server端支持的最大并发连接数,如内存不足会造成连接创建失败. /etc/my.conf  配置Mysql server 可接收的最大连接数,主机的性能直接决定能创建的最大连接数. 用 mysqlslap 工具来压测Mysql server支持的最大连接数,主机配置:Intel(R) Xeon(R) E5506  2.13GHz  (4核 8线程)*2/内存32GB/SAS 300G 步骤如下: 修改 /etc/my

MySQL 5.6 VS 5.7压测报告

  MySQL 5.6 VS 5.7压测报告   版本 姓名 时间 V1.0 刘占彬 2016.3.2   测试条件 1.        软件 OS:  CentOS release 6.7 (Final) 文件格式:xfs MySQL:percona5.6.24  VS  5.7.10 关键参数配置(yum install后初始化默认,未做修改): bufferpool大小16G sync_binlog=0 innodb_flush_log_at_trx_commit= 2 压测工具:sysb

MySQL压测工具--TPCC安装,测试

今天我们来讲一下MySQL的压力测试工具,目前我接触到的主要有两种压力测试工具:TPCC,Sysbench,前者只适合MySQL数据库OLTP压力测试,而Sysbench功能就比较广泛,可以测试OS的CPU,Memory,IO,以及多种关系型数据库,如MySQL,PostgreSQL; 这篇博客主要讲解Tpcc 安装,测试. 简介 TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统: tpcc-mysql是percona基于TPC-C衍生出来的

MySQL压测--注意事项和FAQ

上次我们讲了TPCC的安装和一些使用方法,今天先不着急真正的做MySQL压力测试,先把我最近做压力测试的遇到的一些问题罗列出来,这样 后面做测试可以事半功倍. 1.注意事项 (1).提前规划好具体要测试什么,即测试目的,比如 MySQL5.6与5.7的性能差异: 异步复制和半同步复制的TPS: 设置双1(innodb_flush_log_at_trx_commit=1.sync_binlog=1)性能对数据库性能影响多少: 确认即将上线的新业务对MySQL负载影响多少,是否能承载得住,是否需要对

MySQL压测--参数压测

我们知道,MySQL为了保证数据的尽量不丢失,一般会把参数sync_binlog 和innodb_flush_log_at_trx_commit都设置为1,即双1原则,但是,凡是都有两面性,高安全和高性能往往是让人很难取舍的,需要根据你的实际业务需求进行抉择: 1.测试背景 首先分别了解一下这两个参数的官方解释: sync_binlog Controls how often the MySQL server synchronizes the binary log to disk. 控制MySQL