每周读书与学习->JMeter性能测试脚本编写实战(四)-利用JMeter对MySQL数据库查询进行性能测试

每周读书与学习是由清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书的作者推出,分享作者多年的IT从业经历,希望对很多计算机科学技术IT类专业毕业生以及IT从业者有所帮助。

在前面的学习中,介绍了很多Jmeter的理论知识,包括Jmeter中很多不同元件的详细介绍以及每个元件的作用,本次主要从实践的角度来介绍怎么用这些元件来完成常见性能测试脚本的编写,将会介绍一些常见的性能测试脚本编写案例。

在上一次分享中,分享了如何利用JMeter为MySQL数据库构造测试数据的案例,本次将分享如何利用JMeter对MySQL数据库查询进行性能测试

1、利用JMeter对MySQL数据库查询进行性能测试

在上一小节中,我们用一个示例介绍了如何使用Jmeter向MySQL数据库中构造测试数据,在有了测试数据后,本小节的示例中将演示如何利用JMeter对MySQL数据库查询进行性能测试。

在上一小节中,我们创建了两张表jmeter_test_one和jmeter_test_two,并且向这两张表中都插入了10万条左右的数据,本示例中通过关联查询的SQL语句:

select a.user_id,a.user_name,b.address from jmeter_test_one a inner join jmeter_test_two b on a. user_id=b. user_id where a.user_id='user_1'来演示如何利用JMeter对MySQL数据库查询进行性能测试。

对上述SQL语句中的user_id进行参数化,准备好的参数化数据如下图所示,创建了一个user.dat文件用于存储参数化数据,参数化数据中使用字母和数字组合来生成供user_id使用的参数化数据。

在Jmeter测试计划的线程组中添加配置元件下的CSV数据文件设置元件来设置参数化的数据,如下图所示,在CSV数据文件设置中,选择user.dat文件所在的路径,并且将变量名称设置为user_id。

在Jmeter线程组下继续添加JDBC Connection Configuration元件,并且设置好MySQL数据库的相关配置信息,如下图所示。

由于需要完成MySQL数据库表的查询,所以还需要继续添加JDBC Request取样器,如下图所示。

在JDBC Request 取样器中配置要做性能压测的SQL语句select a.user_id,a.user_name,b.address from jmeter_test_one a inner join

jmeter_test_two b on a. user_id=b. user_id where a.user_id='${user_id}'

,其中${user_id}即可读取CSV数据文件设置中的参数化数据,并且将Query Type选项设置为Prepared Select Statemen。

最后,我们添加聚合报告用于观察对MySQL数据库查询进行性能测试时的各项性能指标的展示,如下图所示。

在完成上述步骤后,整个对MySQL数据库查询进行性能测试的脚本就编写完成了。

2、本次学习总结

主要从实践的角度,以多个真实案例的形式,介绍了Jmeter性能测试脚本的具体编写以及实际使用时的相关技巧介绍。

通过本章的学习,读者们需要能在Jmeter工具下完成常见的性能测试脚本的编写,能完成一些常见的HTTP请求以及数据库请求的性能压测。

出处 :本次学习的内容参考自清华大学出版社出版的《JMeter核心技术、性能测试与性能分析》一书

相关推荐
GPUStack2 天前
NVIDIA H200/H20 DeepSeek-V4-Pro 部署指南、压测性能与稳定性调优建议
ai·性能调优·模型推理·gpustack·deepseek-v4
正在走向自律3 天前
KingbaseES选型评估:功能对标、性能基准与生态工具链兼容性深度剖析
性能测试·国产数据库·kingbasees·数据库选型
小Y._8 天前
JVM垃圾回收算法与调优实战
java·jvm·性能调优·gc
带娃的IT创业者10 天前
Opus 4.6 vs 4.7:社区匿名实测揭示Token成本差异
大语言模型·性能测试·opus·anthropic·token成本
林开落L13 天前
【项目实战】在线五子棋对战项目测试报告
功能测试·jmeter·压力测试·postman·性能测试·xmind
林开落L18 天前
【项目实战】博客系统完整测试报告(含自动化+性能测试)
python·功能测试·jmeter·自动化·postman·性能测试·xmind
ん贤18 天前
Go GC 非玄学,而是 CPU 和内存的权衡
开发语言·后端·golang·性能调优·gc
K 旺仔小馒头21 天前
【项目】博客系统测试报告
自动化测试·功能测试·性能测试
Thanks_ks24 天前
告别主从延迟:MySQL 同步瓶颈的全链路诊断与架构兜底实践
mysql·数据库架构·读写分离·性能调优·故障诊断·主从延迟·mts 并行复制
百度测试开发1 个月前
全网最全,特卖电商项目面试+测试点汇总,一篇通透...
自动化测试·软件测试·软件测试工程师·接口测试·软件测试项目·软件测试面试·性能测试