jmeter分布式压测与no-GUi模式压测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter分布式压测与no-GUi模式压测相关的知识,希望对你有一定的参考价值。

参考技术A 一、分布式压测

1.分布式压测总体结构

       选择一台机器作为调度机(master),其他的机器作为测试执行的执行机(slave),由Contorller通过命令行将测试脚本发给slave,然后slave执行测试,同时将测试结果发送给master。

2.为什么需要分布式压测

        按照一般的压力机配置,jmeter的GUI模式下,最多支持300左右的模拟请求线程,再大的话,容易造成卡顿、无响应等情况,这是限于jmeter其本身的机制和硬件配置。有时候为了尽量模拟业务场景,需要模拟大量的并发请求,这个时候单台压力机就无法满足需求。针对这种情况,jmeter的解决方案是支持分布式压测,即将大量的模拟并发分配给多台压力机,来满足这种大流量的并发请求场景。

3.分布式压测相关配置

master配置(本次使用window系统)

    jmeter.properties文件中:修改 remote_host=xxx.xxx.xx.xxx:xxx    --(slave的IP端口号,多个slave地址用“,”隔开);修改server.rmi.ssl.disable = true。

slave配置(本次使用Mac系统)

    jmeter.properties文件中:新增 server.rmi.localport=1099

4.运行

    1)slave 启动 ./jmeter-server    运行成功显示 -- Created remote object: UnicastServerRef2 [liveRef: [endpoint:[x x x x x](local),objID:[xxxxxxxxxxx]]]

    2) master 启动jmeter.bat,在run中选择Remote Start 中对应的slave地址运行

    3)连接接成功,在slave中显示 -- Starting the test on host x x x x  x @ Wed Nov 13 22:33:50 CST 2019

    4)观察slave中bin目录下的jmeter-server.log查看日志;观察master中添加的聚合报告,看是否slave在运行,且将测试结果发送到master上

    5)运行结束,slave显示 -- Finished the test on host x x x x x x x x @ Thu Nov 14 23:21:22 CST 2019

5.此次运行遇到的问题:

    1)slave一直停留在Starting the test on host x x x x  x @ Wed Nov 13 22:33:50 CST 2019;观察jmeter-server.log 日志显示拒绝链接,导致超时(java.rmi.ConnectException: Connection refused to host: xxx.xxx; nested exception is:java.net.ConnectException: Operation timed out.... )

    解决方案

    1)检查slave是否打开了防火墙,打开的话就将其关闭

    2)master是否有安装虚拟机,虚拟机的网络设置成了“Bridge 并勾选 Replicate physical network IP address所以在controller机器的网络路由设置中,显示的网络连接为:VirtualBox Host-Oly Network;去网络和internet设置--》更改适配器选项将其禁用

    3)master是否为双网卡,在我的电脑--〉属性-->设备管理器-->网络适配器中,将出下图以外的都禁用掉(本地网卡一般以Realtek PCIe GBE开头; 无线网卡 中间带有Wireles PCI字样)--(本次是用这个方法解决上面的问题)

二、简单介绍在no-gui模式下运行的命令

jmeter -n -t /usr/local/xxx.jmx -l xxx.jtl

-n的意思是没有图形化界面运行 

-t的意思就是指定运行哪个脚本

-l的意思是运行结果保存哪个文件里面

如果是将脚本文件直接存储在bin目录下面则直接运行命令:jmeter -n -t xxx.jmx -l xxx.jtl

jmeter 多机负载压测与服务器性能监测

一、 多机负载压测:

 

1、修改jmeter.properties配置文件

remote_hosts=127.0.0.1

remote_hosts=192.168.1.133:1099

2、启动

控制端启动:jmeter.bat;负载生成器启动sever-jmeter.bat

 

出现问题:

  • 负载生成器由于装有虚拟机,导致无法连接;解决:禁用虚拟网卡

 

二、服务器性能监测

 

1、

以上是关于jmeter分布式压测与no-GUi模式压测的主要内容,如果未能解决你的问题,请参考以下文章

jmeter 多机负载压测与服务器性能监测

jmeter no-gui模式动态传递场景参数

分布式压测怎么做

jmeter压测实践

jmeter分布式压测

jmeter 分布式压测配置Linux