繁体   English   中英

如何对ajaxterm(J)javascript心跳行为进行压力测试?

[英]How to stress test ajaxterm(J) javascript heartbeat behavior?

我使用AjaxtermJ(Ajaxterm Java的端口)。 Ajaxterm客户端具有一个javascript例程,该例程每秒将心跳发送到服务器(无论用户是否键入了任何内容)。

我想对其进行压力测试以微调服务器,但是我还没有找到一种简单的方法来模仿这种行为。

HtmlUnit具有一些无头的javascript支持,但不足以模仿这种情况(据我所试)。 我想知道是否有现代而强大的工具可以使此操作变得容易,因为当今有许多javascript-rich-clients。

当然,我可以为JMeter编写自己的Java代码并启动一个每秒发送一次心跳的线程,但是在尝试这种方法之前,我想知道是否有一种更简单的方法。

ps。 尽管某些框架可能是答案,但我在这里不要求软件推荐 (我知道规则)。 但是我的问题特别是如何在压力测试中模拟这种行为。

看起来在您的应用程序中,每个客户端都会对Web服务器造成双重影响:用户键入操作(A)和心跳(B)。 要进行压力测试,您需要模拟两个异步执行的相应测试用例。 任何支持多个测试案例,进度安排和易于测试案例记录/编辑的合理完整的负载测试工具都应处理这种情况。 这是我将如何在名为StresStimulus的工具中实施此测试的方法:

  1. 记录用户创建测试用例A的操作。
  2. 克隆测试用例A以创建测试用例B。
  3. 从测试用例中删除心跳请求。
  4. 从测试用例B中删除所有请求,单个心跳除外。
  5. 对于测试用例B,将“在测试用例之后延迟”属性设置为“ Pacing”,并将测试用例重放的最小持续时间设置为1秒,如屏幕截图所示。

将起搏速度设置为1秒以模拟心跳

之后,您可以根据压力测试要求调整负载。 只要确保用相同数量的虚拟用户执行测试用例A和B即可。 例如,要模拟1到100个虚拟用户的步进负载,创建2到200个VU的步进负载,并将50%的VU分配给每个测试用例。 测试用例B将正确模拟任何数量的VU的心跳,执行用户在测试用例A中的键入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM