如何使用J Meter过载服务器

时间:2018-07-18 02:24:54

标签: server jmeter load-balancing

我正在尝试测试我的网站可以管理的最大用户数以及服务器将关闭的用户数量。

我用过j meter,但无法使网站超载或放慢速度。我只使用多个线程将GET请求发送到我的3个页面。

还有其他方法可以使服务器超载吗?

等待回复。

2 个答案:

答案 0 :(得分:0)

真正降低后端速度的唯一方法是模拟对后端系统造成压力的负载。

我的意思是说您的服务器每秒可以处理2000个请求,并且仅通过jmeter每秒发送20个请求,您的系统不会承受压力,您的网站将照常运行。在这种情况下,您需要从负载生成器计算机上的服务器上发送2000 RPS匹配。

这个想法是要了解服务器的实际限制。为此,首先要以相对较小的10 TPS负载运行测试15分钟。之后,将负载增加10倍,直到达到此极限。我敢肯定,一旦达到此限制,您的网站就会受到很大的压力,因此响应速度会很慢。

答案 1 :(得分:0)

我可以看到至少有四个原因使您无法对网站施加压力:

  1. 由于该网站正被部署在云中的elastic scalable instance上,因此根本无法承受压力,因此,当负载增加时,它会放大,而当负载恢复正常或停止时,它就会减小。在这种情况下-您将需要检查缩放系数,即,当负载增加2倍时,吞吐量也应理想地增加2倍(有关确切数字,请参见SLANFR

  2. 您不会像实际用户那样使用网站。如果将3个GET请求发送到静态URL,则只有网站(或基础Web或应用程序服务器)可以cache it,因此服务器不解析请求并生成响应,它只是从内存中返回页面,这非常便宜而快捷的操作

  3. 您没有发送足够的请求或没有足够的测试迭代/持续时间。可能是有些线程已经完成工作,甚至还没有启动。通过查看HTML Reporting Dashboard图表,确保确实产生了您期望执行的负载。

  4. 与点3基本相同,但是原因不同。您可能无法执行所需的负载,因为JMeter的默认配置适用于测试开发和/或调试,但是,在实际负载测试中,您需要执行一些额外的步骤,强制步骤是:

    • 以非GUI模式运行测试
    • 禁用所有听众

请查看9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure,以获得有关充分利用JMeter安装的建议。还应注意,如果多台计算机将同时执行相同的测试,如果您无法使用单个JMeter实例达到目标用户数或吞吐量,则可以在distributed mode中运行JMeter。