MySQL mysqlslap压测

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
性能测试 PTS,5000VUM额度
简介:

介绍

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/p/5334248.html,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
关系型数据库 MySQL Java
【JMeter】(3)---MySQL压测
【JMeter】(3)---MySQL压测
213 0
|
7月前
|
关系型数据库 MySQL 测试技术
MySQL性能测试(完整版)
MySQL性能测试(完整版)
617 1
|
6月前
|
关系型数据库 MySQL 测试技术
《阿里云产品四月刊》—瑶池数据库微课堂|RDS MySQL 经济版 vs 自建 MySQL 性能压测与性价比分析
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
|
7月前
|
关系型数据库 MySQL 测试技术
sysbench 对MySQL压测100分钟的命令
使用 `sysbench` 对 MySQL 数据库进行性能测试(压测)时,首先确保 `sysbench` 和 MySQL 数据库已经安装,并且你有一个测试数据库可以使用。下面是一个针对 MySQL 数据库进行压测的示例命令,测试时长为 100 分钟(6000 秒)。 在运行此命令之前,请确保以下内容: - 使用适当的数据库连接参数(主机、端口、用户名、密码、数据库名)。 - 根据你的需求调整测试参数(如并发数、线程数、事务数等)。 以下是一个示例命令,使用 `sysbench` 对 MySQL 数据库进行压测 100 分钟: ```shell sysbench --db-driver=m
150 0
|
7月前
|
存储 SQL 关系型数据库
Mysqlslap性能测试MySQL三种存储引擎
Mysqlslap性能测试MySQL三种存储引擎
|
关系型数据库 MySQL Serverless
|
关系型数据库 MySQL 测试技术
mysqlslap mysql性能测试
mysqlslap是mysql自带的基准测试工具,优点:查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端 同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.msqlslap为mysql性 能优化前后提供了直观的验证依据,建议系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的 掌握线上数据库支撑的用户流量上限及其抗压性等问题。
163 0
|
7天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
68 15
|
1天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。
|
8天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。