【问题标题】:load testing kubernetes service (with istio service mesh)负载测试 kubernetes 服务(使用 istio 服务网格)
【发布时间】:2021-05-26 02:18:47
【问题描述】:

在对通过 istio 完成路由的 Kubernetes 服务进行负载测试时,集群中的所有服务都变得无响应。当正在负载测试的服务出现 100% 故障时,就会发生这种情况。

有没有办法防止这种情况发生?我们应该应用 istio 熔断吗?

【问题讨论】:

    标签: kubernetes load-testing istio


    【解决方案1】:

    简而言之,是的。断路器模式旨在检测端点何时响应缓慢或根本没有响应。

    响应缓慢的端点特别麻烦,因为您已经发现它可能会导致您的系统滞后。断路器是控制流向端点的代理。如果端点失败或太慢(根据您的配置),代理将打开通往容器的电路。

    使用connectionPool 参数,您可以设置要在正在建立的请求上等待多少请求。如果将 http1MaxPendingRequests 设置为 1 并将 maxRequestsPerConnection 设置为 1 在处理待处理的请求之前,任何其他请求都将被拒绝。

    另一个有用的选项是OutlierDetection。它检测故障实例,然后使其在预先配置的时间(有时称为睡眠窗口)内不可用。虽然容器处于该时间段内,但它被排除在路由和负载平衡之外,并且有时间恢复,同时不会因更多请求而过载。

        outlierDetection:
          consecutive5xxErrors: 7
          interval: 5m
          baseEjectionTime: 15m
    

    上述配置要求系统每5分钟扫描一次主机,如果连续7次失败,它将被弹出15分钟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-09
      • 2022-10-23
      • 2018-08-22
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多