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

相关推荐
陈年老古董8 分钟前
Hive 函数学习笔记(上):单行函数与炸裂函数
hive·笔记·学习
喜欢打篮球的普通人41 分钟前
MiniMind 学习笔记(十八):速通强化学习——从 MDP 到 PPO 的概念与算法地图
笔记·深度学习·学习
老王爱玩车2 小时前
动态内存管理
c语言·开发语言·学习·面试
lvqinglou3 小时前
学习Sql-part1 for婷姐
sql·学习·性能优化
扶风ff4 小时前
练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中
开发语言·javascript·学习·小程序
SatanII4 小时前
MySQL 数据库学习总结|理论 + SQL 实训完整笔记
数据库·学习·mysql
~kiss~5 小时前
LangGraph 之 Human-in-the-loop,人机协作/在环
学习
陈年老古董5 小时前
Hive 分区表学习笔记:语法、操作、二级分区与动态分区
hive·笔记·学习
li星野5 小时前
The 3 Common Tenses — Notes & Supplements
学习
小弥儿5 小时前
GitHub今日热榜 | 2026-10-09:PS5 移植登顶,AI 创作工具占三席
人工智能·学习·开源·github