使用 pound 来平衡不同容量的服务器

使用 pound 来平衡不同容量的服务器

假设我有三个后端 Linux 服务器,A、B、C,其中 C 的功能大约是其他服务器的两倍(主要是在 CPU 方面),是否可以设置一个 Pound 前端配置(也是专用的 Linux 机器)旨在将 HTTP 流量分发到这些后端,如下所示:

  • 答:25%
  • B:25%
  • 丙:50%

我可以Priority男子磅(8),但我觉得这听起来不太科学:

Priority val The priority of this back-end (between 1 and 9, 5 is default). Higher priority back-ends will be used more often than lower priority ones, so you should define higher priorities for more capable servers.

这仅仅是尝试不同的优先级直到看起来没问题的情况吗,还是有更准确的方法来表达相对服务器强度?正如我所说,will be used more often对我来说似乎不是特别科学。

答案1

我承认...我对“pound”几乎一无所知。(从未在生产中使用过它)但是我对负载均衡器和 Web 服务器场有相当多的经验。

我发现,在大多数情况下,当谈到 Web 服务器性能时……CPU 是最不可能成为瓶颈的……因此,它并不是衡量“强大”程度的一个很好的标准。通常,瓶颈归结为内核参数、网络堆栈和/或 IO。(按此顺序)话虽如此,大多数负载平衡器通常只为服务器提供权重。它们实际上并不查看它们试图平衡的服务器的实际活动工作负载。它们只是查看进程队列并根据分配的权重划分负载……然后继续。即 5 个困难的工作 + 5 个简单的工作 = 10 个工作……除以 2 个服务器……最终可能会导致一台服务器超载……而另一台服务器几乎处于空闲状态。

当考虑使用“权重”时……是的……你绝对应该“玩”数字,直到达到基线的良好平衡。要小心,不要做出大的改变。小的改变可以带来很大的结果。这就是系统管理员和开发运营人员赚钱的地方。知道要调整什么以及调整到什么程度比遵循网上的随机指南要有效得多。

相关内容