【问题标题】:How do I Implement thread communication in jmeter?如何在 jmeter 中实现线程通信?
【发布时间】:2012-12-20 14:15:20
【问题描述】:

我正在使用 jmeter 为测试环境做一些前端数据加载。但是,在这种环境中有一个特定的部分,如果两个线程同时访问应用程序,则会导致 502 错误。

我是 Jmeter 的新手,并且有一个运行良好的脚本,除非我碰到线程并且当两个或更多线程竞争本节时它们崩溃。

有没有一种简单的方法让两个线程在 jmeter 中进行通信?我想要某种方式来实现某种锁,这样如果一个线程检测到另一个线程在同一个地方,它就会等待。

【问题讨论】:

    标签: jmeter jmeter-plugins


    【解决方案1】:

    此类通信有自定义插件:http://code.google.com/p/jmeter-plugins/wiki/InterThreadCommunication

    但是,我认为您的服务存在一些问题,因为并发限制如此之低是不好的做法。

    【讨论】:

    • 我同意 Andrey 的观点,在您尝试做您想做的事情之前,您的应用程序中存在问题
    【解决方案2】:

    还有一件事,非常简单,就是在出错时选择“停止线程”或“开始下一个线程循环”(如您的 502)。竞争线程不会等待,它只会停止并重新启动,希望能够充分错开流程以允许更多所需的事务。那将是简单的方法,我想困难的方法是使用逻辑控制器和自定义 Javascript。

    【讨论】:

    • 这其实是我用的方案。
    • 如果您选择“停止线程”选项,线程将被排除在测试之外,以防出现错误,并且不会再在此测试中使用。如果您选择“开始下一个线程循环”选项,线程将停止并重新开始。
    【解决方案3】:

    在第一个答案的基础上,您将需要“调整”您的 Apache 服务器以提高最大线程数,在正在运行的实例上配置负载平衡/故障转移,并同时调整垃圾收集、堆大小等你在里面。我已经用 Apache 完成了所有这些事情,但我听说 Lightspeed 服务器是这些增强功能的标准配置,所以我真的会推荐 Lightspeed 服务器。

    【讨论】:

      猜你喜欢
      • 2012-05-16
      • 2014-12-17
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-11
      相关资源
      最近更新 更多