【问题标题】:Google Cloud Platform autoscaler is too sensitiveGoogle Cloud Platform 自动扩缩器过于敏感
【发布时间】:2019-02-08 04:00:55
【问题描述】:

我有一个向 StackDriver 报告 HAProxy 指标的实例组。此实例配置为根据该指标自动扩展。每个实例的容量为 300。

现在,问题主要是值 0,当它变为 1(超过 300 个容量!)时,会立即创建并删除一个新实例。这真是奇怪的行为,在我们的 QA 环境中(在不同的项目中)不会发生相同的用例

我该如何调试呢?

负载均衡器配置:

ig  us-east1    3 / 3   Target LB capacity fraction 100%    Max RPS: 1000 (per instance)    100%

自动扩缩器配置

Autoscaling
On
Autoscaling policy
HTTP load balancing usage
Target HTTP load balancing usage
100%
Minimum number of instances
1
Maximum number of instances
2

【问题讨论】:

  • 你能提供更多细节吗?自动缩放器是如何配置的?您能否提供有关该指标的更多信息?自动缩放器本身应该有一个目标指标,并且应该向上或向下缩放组以尝试使平均负载达到目标。如果您的指标经常波动,这并不理想
  • 我添加了实例组容量/利用率的截图。如您所见,利用率远不及容量,但实例是随机添加和删除的......
  • 您正在平衡目标为 100% 的 LB 容量。这不是自动缩放器可以正确维护的东西。一旦达到每个实例超过 1000 rps,自动缩放器将尝试扩展,然后每个实例的 RPS 急剧下降。由于您只有 1 到 2 个实例,因此目标 CPU 利用率可能会更好
  • 但这不是问题。看一下图表,有什么理由应该扩大规模?
  • 您使用的指标是 1。目标是 1,这使得 LB 计算更加困难并且导航空间更小。另请注意,自动缩放基于 RPS,而不是该图中显示的自定义指标。您的 LB 自动缩放器正在控制组的大小

标签: google-cloud-platform google-compute-engine


【解决方案1】:

您可以查看的资源如下:Scaling Based on HTTP(s) Load balancing serving capacity

文章中需要注意的是以下“自动缩放仅适用于最大 CPU 利用率和每秒/实例的最大请求数,因为这些设置的值可以通过添加或删除实例来控制”。

HTTP 负载平衡器将按照托管实例组正在使用的后端配置创建和删除实例。负载均衡器有一些监控图表,您可以查看这些图表以获得更多见解。

我无法使用您提供的设置重新创建图表显示的行为。

HTTP 负载平衡器后端服务的运行状况检查规则值得一看。您可以将其与您的 QA 环境的规则进行比较,以确认所有其他变量是否相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2018-12-07
    • 2017-05-23
    • 1970-01-01
    • 2019-03-30
    • 2019-02-23
    • 1970-01-01
    相关资源
    最近更新 更多