代码之家  ›  专栏  ›  技术社区  ›  Hank Jesus M C

远程JMeter服务器将所有输出发送到控制JMeter实例

  •  2
  • Hank Jesus M C  · 技术社区  · 14 年前

    我的工作场所通过有线互联网连接,上下游有限,因此对于负载测试Web应用程序,我使用的是分布式方法:

    • JMeter服务器(V2.4)的一个实例正在具有适当Internet连接的远程Linux设备上运行。
    • 控制JMeterGUI(也是2.4)正在我的桌面上运行。
    • 两者通过VPN连接。
    • SUT是托管在另一个数据中心的Web应用程序。

    这很好——我可以从JMeterGUI启动远程线程执行,并在摘要报告中接收实时结果。

    奇怪的是,我在SUT上施加实际负载的能力受到 地方的 Internet连接(入站、下游)。跟踪本地JMeterGUI和远程JMeter服务器之间的链接,我可以看到 从SUT到JMeter服务器的所有HTTP通信都发送到本地JMeter GUI。 . 因此,如果JMeter服务器正在从SUT中检索一个1MB文件,那么它将把它发送到我的本地JMeter GUI(通过我的慢速互联网链接)。

    应该这样吗?我希望只传输关键度量(成功、延迟等)。

    [ps:我知道我可以将我的测试计划scp到远程设备,并在无头JMeter中运行它。但我看不到实况转播结果…]

    3 回复  |  直到 13 年前
        1
  •  3
  •   Rolf    13 年前

    这可能是因为在JMeter脚本中有一个“视图树结果”。这会告诉服务器将所有响应发送回主服务器,以便您可以查看它们。这将很快填补你的带宽和内存密集。尝试禁用脚本中的所有侦听器,并且只在其中包含“查看聚合结果”。

    对于高负载,您对单个结果不感兴趣。如果您使用SSL隧道,那么也不需要在数据中心中打开防火墙。我已经在blogpost中记录了这一点,因为我在网上找不到简单的一步一步的内容,您可能也希望在 http://rolfje.com/2012/02/16/distributed-jmeter-through-vpn-and-ssl/

        2
  •  0
  •   Bala    14 年前

    我建议你把结果写进一个文件。在执行此操作之前,您可以选择通过单击配置按钮和/或选中写入成功/错误以记录来执行结果保存配置的选择/取消选择。通过取消选择结果采样器数据、保存响应消息等,您可以减少发送到控制台的数据量。

        3
  •  0
  •   BlackGaff    14 年前

    思考 按照您设置它的方式,jmeter的本地实例和远程实例都同时运行脚本,因此流量被定向到本地设备。

    我发现更有效的方法是远程进入运行jmeter的机器。然后所有的东西都在适当的机器上,我不必担心瓶颈。

    我建议使用一个简单的数据编写器元素,将其保存到远程Linux设备上的文件中。

    在GUI中,您仍然可以只使用聚合报告来监视正在发生的事情。

    希望这有帮助。如果没有,我建议发布到jmeter用户组:

    http://jmeter.512774.n5.nabble.com/