jmeter性能测试经验汇总
1.系统测试时,如果需要用到多个值的,可以用参数化,比如:登录时用户名密码参数化。这个比较简单的用法就是添加“CSV数据文件设置”。在要登录的HTTP请求中,值用参数化代替,此参数从CSV文件中获取即可。具体方法有很多,例如参考: https://www.jianshu.com/p/7cc72f97d5ab
2.数据关联(如何将返回的内容提取保存到变量)
简单的可以通过:正则表达式提取器,详见:
https://www.cnblogs.com/tudou-22/p/9566894.html
复杂的可以通过:Jmeter bsf处理器,详见:
https://www.hissummer.com/loadtesting-jmeter/252-jmeter-bsf.html
3.jmeter插件安装。jmeter默认是没有插件管理器的,如果需要用到其他的插件,可以安装一个插件管理器,例如:jmeter-plugins-manager-1.3.jar。插件下载地址:
https://jmeter-plugins.org/downloads/all/#Plugins-Manager-Download
下载完成后,将插件放到lib/ext目录下,重启Jmeter即可。
4.badboy录制的脚本,线程组那个地方的循环次数修改是达不到效果的,原因是,录制脚本中,step1这个里面有个循环次数,这个才是生效的。另外,使用badboy要用最新的版本(当前2.2.5,低于此版本的就别用了,有BUG),关于badboy录制的操作,可以参考:
https://www.jianshu.com/p/e4aa5d4a1bae
5.jmeter录制脚本。录制较为准确,需要对HTTP协议熟悉。具体可见:https://blog.csdn.net/weixin_34044273/article/details/88737935
6.fiddler抓包导出为jmeter脚本(强烈推荐),需要下载插件,关注博客“黑夜小怪”:https://blog.csdn.net/xie_wenfeng/article/details/53861251
7、jmeter图形界面,运行时要关注下当前机器的CPU和内存,如果较大,则结果不会准确,建议采用命令行模式运行,运行语句:
jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtl
示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl
-h, –help -> prints usage information and exit 帮助 -> 打印出有用的信息并退出
-n, –nongui -> run JMeter in nongui mode 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t, –testfile <argument> -> the jmeter test(.jmx) file to run 测试文件 -> 要运行的 JMeter 测试脚本文件
-l, –logfile <argument> -> the file to log samples to 日志文件 -> 记录结果的文件
-r, –runremote -> Start remote servers (as defined in remote_hosts) 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H, –proxyHost <argument> -> Set a proxy server for JMeter to use 代理主机 -> 设置 JMeter 使用的代理主机
-P, –proxyPort <argument> -> Set proxy server port for JMeter to use 代理端口 -> 设置 JMeter 使用的代理主机的端口号
8、jmeter对超过响应时间判断为不合格的方法:在‘响应断言’前面加上‘断言持续时间’。则超过这个持续时间后,‘断言持续时间’就会报错,如下图
详见:https://www.cnblogs.com/leeboke/p/5238269.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构