用Jmeter做接口及性能测试

发布时间 2023-04-04 08:36:36作者: tzmok

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Jmeter分布式性能测试环境部署

 

一、背景

在使用Jmeter进行性能测试的时候,由于Jmeter是java应用,对于CPU和内存的消耗比较大。因此,当需要模拟数以万计的请求时,Jmeter运行在一台测试PC上时很可能会引起java内存溢出错误。为了让Jmeter工具提供更大的负载能力,这时就要使用Jmeter提供的分布式功能来启动多台电脑(或服务器)来分压测试。

二、Jmeter分布式执行原理

  1、Jmeter分布式测试时,选择其中一台作为控制机(Master),其它机器做为代理机(Slave)。

  2、执行时,Master会把脚本发送到每台Slave上,Slave拿到脚本后开始执行,Slave执行时不需要启动Jmeter,只需要把jmeter-server.bat文件打开,它应该是通过命令行模式来执行的。

  3、执行后,Slave会把结果回传给Master,Master会收集所有Slave的信息并汇总。

 

三、分布式性能测试拓扑图

 

 

 

 

 

四、代理机(Slave)配置

1、Agent机上需要安装JDK、Jmeter,并且配置好环境变量。Jmeter环境变量配置请参考:

https://blog.csdn.net/qq_40646143/article/details/79578270

2、打开“运行”,输入"cmd",打开运行面板,输入“ipconfig”,找到IP地址,如我的测试机ip地址是:10.50.128.86

3、打开Jmeter/bin/jmeter.properties,找到“remote_hosts=127.0.0.1”,把这一行修改为“remote_hosts=10.50.128.86:1099”,1099是端口号,可以随意自定义。

4、把jmeter.properties的334行改为server.rmi.ssl.disable=true

5、双击Jmeter bin目录下的jmeter-server.bat,启动成功的界面为:

 

 

 

 

五、主控机(Master)配置

 

 

主控机配置与代理机配置只有步骤3不一样,在主控机的Jmeter/bin/jmeter.properties的remote_hosts=后面添加所有Slave的IP和端口号,Slave之间用逗号分开。如果主控机本身也是一个代理,需要将主控机自己的IP地址和端口号也添加上:

 

 

 

 

六、调测与执行

测试与执行时,需要事先将所有代理机启动。

调测时:Run-->Remote Start可以指定具体某个代理机执行性能测试脚本。选择Run-->Remote Start All则所有的代理机同时开始执行性能测试脚本。其中代理机出现异常不会影响其他代理机的正常执行。

 

Run-->Remote Stop可以指定停止某个正在执行测试任务的代理机。选择Remote Stop All来停止所有正在执行测试任务的代理机。

 

 

 

性能测试执行时:推荐使用命令行模式

 

 

 

七、注意事项

如果主控机导入了外部资源或者jar包,那么代理机也要导入同样的资源或者jar包,且这些资源或jar包在代理机上的保存路径必须与主控机保持一致。

 

八、技能数