jmeter压力测试实现负载均衡("JMeter实现负载均衡压力测试")?

2023-11-19 18:08:43 7

> 优化后的内容:

JMeter是一个基于Java的应用程序,对CPU和内存的消耗比较大。因此,当需要模拟数以千计的并发用户时,单台机器可能无法负担得起,甚至可能引起JAVA内存溢出错误。为了提供更大的负载能力,JMeter在使用多台机器同时产生负载的机制上做了一些优化。

那么,如何实现多台机器同时运行负载呢?不必让多个人坐在多台负载机面前,一起启动JMeter。这种方式既笨拙又难以真正实现同步。实际上,我们可以通过单个JMeter客户端控制多个远程的JMeter服务器,让它们同时对服务器进行压力测试。

通过远程运行JMeter,测试人员可以跨越多台低端计算机复制测试,从而模拟一台大型服务器的压力。一个JMeter客户端实例理论上可以控制任意多的远程JMeter实例,并通过它们收集测试数据。这样做有以下特性: - 将测试采样数据保存到本地机器 - 通过单台机器管理多个JMeter执行引擎 - 无需将测试计划复制到每台机器,JMeter GUI客户端会将其发送到每台JMeter服务器 - 每台远程JMeter服务器都执行相同的测试计划,JMeter不会在执行期间进行负载均衡,每台服务器都会完整地运行测试计划

在1.4GHz至3GHz的CPU、1GB内存的JMeter客户端上,可以处理100至300个线程。对于Web Service等XML处理密集型应用,CPU会迅速消耗,一般性能仅为普通Web应用的10%至25%。此外,如果所有负载都由一台机器产生,网卡和交换机端口可能成为瓶颈,因此JMeter客户端线程数不应超过100。

使用JMeter远程模式并不会比独立运行相同数量的非GUI测试更加资源消耗。但是,如果使用大量的JMeter远程服务器,可能会导致客户端过载或者网络连接拥塞。

操作步骤如下,用于使用多台机器产生负载: 1. 在所有期望运行JMeter并确定其中一台机器作为controller,其他机器作为agent。 2. 在所有agent机器上运行jmeter-server文件(假设使用两台机器192.168.9.99和192.168.9.130作为agent)。 3. 在controller机器的jmeter的bin目录下,找到jmeter.properties文件,并编辑该文件: - 查找:`remote_hosts=127.0.0.1` - 修改为:`remote_hosts=192.168.9.99:1099,192.168.9.130:1099` - 注意端口设置,有些资料说明端口1644为JMeter的controller和agent之间的默认RMI端口号,但测试时发现,设置为1644无法运行成功,改成1099后运行通过。另外,还要留意agent的机子是否开启了防火墙等。 4. 启动controller机器上的jmeter应用jmeter.bat,选择菜单“运行”---...(待续)

爱网站

Linux、centOS、Ubuntu、Windows操作系统下的ECS云服务器、vps虚拟空间、建站主机到期停止异常等状态监测,宝塔面板Bt、小皮面板PHPStudy、IIS、Apache、Nginx、XAMPP、wamp建站环境意外故障监测,php+MySql、asp、java、html等建站程序运行故障监测,域名状态、SSL证书状态监测,网站301、302、404、500错误代码及网站无法访问通知提醒,全国多节点测试网站速度及网络攻击!

网站服务

扫一扫,关注我们

桂ICP备2022009721号-1