每周读书与学习->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核心技术、性能测试与性能分析》一书

相关推荐
程序员龙叔13 天前
编写高质量 Skill 系列 -- 如何设计需求分析与用例生成的 SKILL
自动化测试·软件测试·python·软件测试工程师·接口测试·性能测试·skill·ai测试
小森林之主14 天前
Python re 模块速查:从实战对比中掌握正则表达式
python·正则表达式·性能测试·re模块·编程实战
程序员龙叔14 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
糖果店的幽灵15 天前
软件测试接口测试从入门到精通:JMeter接口测试
软件测试·jmeter·接口测试·压力测试·性能测试
故渊at18 天前
第十板块:Android 系统稳定性与调试 | 第二十六篇:Systrace 与 Perfetto 的系统级性能分析
android·perfetto·性能分析·systrace·系统稳定性
小bo波19 天前
用匿名内部类优雅地计算方法执行时间
java·设计模式·性能测试·模板方法模式·lambda·代码优化·匿名内部类
测试199820 天前
Jmeter性能压测:TPS与QPS
自动化测试·软件测试·python·jmeter·测试用例·压力测试·性能测试
脑叔25 天前
opencode多会话并行测试:同时运行build/plan Agent性能评估
性能测试·ai编程助手·多会话并行
程序员小远1 个月前
系统性能指标全解析
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·性能测试
一直会游泳的小猫1 个月前
当 AI 驾驶浏览器:深入解析 Chrome DevTools MCP
性能分析·浏览器自动化·cdp·mcp·ai 辅助调试