用mysqlslap进行mysql压力测试

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS DuckDB + QuickBI 企业套餐,8核32GB + QuickBI 专业版
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介:

 

mysqlslap是一个mysql官方提供的压力测试工具,通过模拟多个并发客户端访问mysql来执行测试,使用起来非常的简单。通过mysqlslap--help可以获得可用的选项。
下面我们就来看看一些比较重要的参数:
--defaults-file,配置文件存放位置
--create-schema,测试的schema,MySQL中schema也就是database
--concurrency,并发数
--engines,测试引擎,可以有多个,用分隔符隔开。
--iterations,迭代的实验次数
--socket,socket,文件位置
--debug-info,打印内存和CPU的信息
--only-print,只打印测试语句而不实际执行
--auto-generate-sql,自动产生测试SQL
--auto-generate-sql-load-type,测试SQL的类型。类型有mixed,update,write,key,read。
--number-of-queries,执行的SQL总数量
--number-int-cols,表内int列的数量--number-char-cols,表内char列的数量
--query=name,使用自定义脚本执行测试,例如可以调用自定义的一个存储过程或者sql语句来执行测试。

 

 


测试例子如下:[root@localhost~]#
/usr/local/mysql/bin/mysqlslap--defaults-file=/etc/my.cnf--concurrency=200--iterations=1--number-int-cols=1--auto-generate-sql--auto-generate-sql-load-type=write--engine=myisam,innodb--number-of-queries=200-S/tmp/mysql.sock--debug-info-uroot-p123Benchmark
Runningforenginemyisam
Averagenumberofsecondstorunallqueries:0.087secondsMinimumnumberofsecondstorunallqueries:0.087secondsMaximumnumberofsecondstorunallqueries:0.087secondsNumberofclientsrunningqueries:200Averagenumberofqueriesperclient:1Benchmark
Runningforengineinnodb
Averagenumberofsecondstorunallqueries:0.551secondsMinimumnumberofsecondstorunallqueries:0.551secondsMaximumnumberofsecondstorunallqueries:0.551secondsNumberofclientsrunningqueries:200Averagenumberofqueriesperclient:1Usertime0.03,Systemtime0.05
Maximumresidentsetsize0,Integralresidentsetsize0Non-physicalpagefaults2826,Physicalpagefaults0,Swaps0Blocksin0out0,Messagesin0out0,Signals0
Voluntarycontextswitches3340,Involuntarycontextswitches96

对于INNODB引擎,200个客户端同时运行这些SQL语句平均要花0.551秒。相应的MYISAM为0.087秒,测试结果也很简明,就不多少说了。指定数据库的测试:
--create-schema,指定数据库名称
--query,指定SQL语句,可以定位到某个包含SQL的文件[root@localhost~]#/usr/local/mysql/bin/mysqlslap
--defaults-file=/etc/my.cnf--concurrency=50--iterations=1--create-schema=test--query=/root/test.sql-S/tmp/mysql.sock-uroot-p123Benchmark
Averagenumberofsecondstorunallqueries:0.021secondsMinimumnumberofsecondstorunallqueries:0.021secondsMaximumnumberofsecondstorunallqueries:0.021secondsNumberofclientsrunningqueries:50Averagenumberofqueriesperclient:1

mysqlslap --defaults-file=/usr/local/mysql-maria/my.cnf --concurrency=25,50,100 --iterations=1 --create-schema='t_girl' --query='call sp_get_article(2,10,1);' --number-of-queries=5000 --debug-info -uroot -p -S/tmp/mysql50.sock

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
SQL 缓存 关系型数据库
使用温InnoDB缓冲池启动MySQL测试
使用温InnoDB缓冲池启动MySQL测试
257 0
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
450 0
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
292 0
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
457 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
647 5
|
关系型数据库 MySQL 测试技术
使用docker部署MySQL测试环境
使用docker部署MySQL测试环境
400 0
|
10月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1998 10
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1572 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
746 59

推荐镜像

更多