我正在使用 jmeter 为测试环境做一些前端数据加载。但是,在这种环境中,有一个特定的部分,如果两个线程同时访问应用程序,则会导致 502 错误。
我是 Jmeter 的新手,并且有一个运行良好的脚本,除了当我碰到线程并且当两个或多个线程在本节竞争时它们崩溃时。
有没有一种简单的方法可以让两个线程在 jmeter 中进行通信?我想要某种方式来实现某种锁,这样如果一个线程检测到另一个线程在同一个地方,它就会等待。
我正在使用 jmeter 为测试环境做一些前端数据加载。但是,在这种环境中,有一个特定的部分,如果两个线程同时访问应用程序,则会导致 502 错误。
我是 Jmeter 的新手,并且有一个运行良好的脚本,除了当我碰到线程并且当两个或多个线程在本节竞争时它们崩溃时。
有没有一种简单的方法可以让两个线程在 jmeter 中进行通信?我想要某种方式来实现某种锁,这样如果一个线程检测到另一个线程在同一个地方,它就会等待。
这种通信有自定义插件:http ://code.google.com/p/jmeter-plugins/wiki/InterThreadCommunication
但是,我认为您的服务存在一些问题,因为具有如此低的并发限制是不好的做法。
另一件事非常简单,就是在出错时选择“停止线程”或“开始下一个线程循环”(如您的 502)。竞争线程不会等待,它只会停止并重新启动,希望能够充分错开流程以允许更多所需的事务。那将是简单的方法,我想困难的方法是使用逻辑控制器和自定义 Javascript。
在第一个答案的基础上,您将需要“调整”您的 Apache 服务器以提高最大线程数,在正在运行的实例上配置负载平衡/故障转移,并在您使用时调整垃圾收集、堆大小等那里。我已经用 Apache 完成了所有这些事情,但我听说 Lightspeed 服务器是这些增强功能的标准配置,所以我真的会推荐 Lightspeed 服务器。