【问题标题】:Test Load Balancing in JMeter在 JMeter 中测试负载平衡
【发布时间】:2020-10-19 10:43:01
【问题描述】:

我在定义为 LoadBalancer 的 Kubernetes 环境中有一个原型服务,该服务指向 5 个 Pod 来执行负载平衡。该服务还有一个外部 IP,以便在集群外部进行联系。
如何构建 Jmeter 负载测试以检查负载平衡是否正确执行?我认为我必须执行更多并行请求以使服务器过载,但我不知道如何准确实现这一点。

注意:我的应用程序原型会休眠 1 秒,并在响应中返回负责该请求的 pod 名称,因此我知道 LoadBalancer 服务选择了哪个 pod。

【问题讨论】:

    标签: testing kubernetes service jmeter load-balancing


    【解决方案1】:

    识别第一个瓶颈的过程称为Stress Testing,是的,您需要从 1 个线程(虚拟用户)开始并增加负载,直到响应时间开始超过可接受的阈值或开始发生错误(以先到者为准)

    如果您需要检查负载平衡能力,即您的请求应返回相关的 pod ID - 您可以使用 JSR223 PostProcessor 从响应中提取 pod ID 并使用您从响应中获得的内容修改 HTTP Request 采样器标签,代码将类似于:

    prev.setSampleLabel(prev.getSampleLabel() + ' - ' + prev.getResponseDataAsString())
    

    演示:

    在上面的示例中,prev 代表之前的 SampleResult,请参阅 JavaDoc 了解所有可用的函数/属性和 Top 8 JMeter Java Classes You Should Be Using with Groovy 文章,了解有关此和其他 JMeter API 简写暴露于 JSR223 Test Elements 的更多信息

    【讨论】:

      猜你喜欢
      • 2016-10-28
      • 2012-01-19
      • 2018-09-28
      • 2012-07-29
      • 2019-02-10
      • 1970-01-01
      • 2017-11-26
      • 2018-05-28
      • 1970-01-01
      相关资源
      最近更新 更多