当我们在运行jmeter脚本时,可能会遇到当前负载机无法产生足够负载的情况,比如让你对百度网址进行1000000个线程同时请求的压测,但是不幸的是,你的电脑刚跑起来,你就发现卡死,CUP占用太大,内存爆了等,我总结了三种解决方式:
1.修改本地的jmeter.bat,具体如下
jmeter是用java编写的一个工具,自然就涉及到JVM,上面是一些JVM的参数,比如初始堆最大堆,年轻代大小,晋升周期等,一般把-xmx设置成电脑内存的一半,再大就会影响性能,比如我的电脑是8G,那么我就设置成4096m
2.利用非GUI方式,如果GUI最多可以跑80个线程,那么非GUI方式大概可以跑100个,我们先把脚本写好保存为baidu.jmx,然后通过命令运行
-n 非GUI方式
-t 脚本的路径,可以是相对路径,也可以是绝对路径
命令有很多,具体的可以百度,也可以把结果放到某个目录下,当然前提是jmeter目录你要加入到环境PATH中
3.远程运行多台机器
由一台master管理多台slave,其中master也可以作为slave,具体方式如下:
1.编辑jmeter.properties属性,修改如下,修改后记得重启jmeter
remote_hosts=ip1,ip2,不用写端口,在jmeter2.3版本后会自动分配端口,ip1,ip2就是slave的ip,如果本机也是slave(master也是slave),那就加上127.0.0.1
2.远程slave机打开 jmeter-server.bat,这个文件在bin下
3.master机运行,这里以GUI方式为例
可以选择运行一个slave,也可以运行全部slave,结果和在本地运行一样
这里有一点要指出的是,比如说一些本地的依赖文件,如csv文件等,不会发送给远程,只能自己拷贝,一般都会把它写成相对路径的方式
如果是这样,那么远程slave的相对路径就是你的jmeter脚本路径,可以通过这种方式产生足够的并发量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架