从理论上讲,假设我有一个在负载均衡器下运行的3节点LXD群集。流量开始增加,我需要通过在集群中添加另一个节点来水平扩展。此时,我在LB下有一个4节点群集。
这种方式有哪些好处?我试图了解它是否减少了包含节点的整个裸机的负载,或者只是允许处理更多请求。如果允许处理更多的请求,我是否要测量每个单独容器的平均负载?
最佳答案
只要有多余的CPU周期和足够的网络带宽,添加新节点几乎总是会允许同时处理更多请求。在某些情况下,这会降低每个请求的响应速度。
如果CPU负载很高,则添加另一个节点(在同一盒子上)将降低吞吐量(延长响应时间-因为您要让CPU做更多它可以同时完成的工作)。相反,如果由于阻塞IO而导致负载很高,则在包装盒上添加另一个节点应该不会显着影响每个请求的处理时间。
在阻塞IO的情况下,您可以添加新节点,直到CPU达到其阈值级别为止-您永远都不想使CPU达到最大,您希望将阈值设置为大约75%,以允许负载变化。
但是,这些天不应该运行带有阻塞io的代码-您应该在Node.js或Go中编写一切;)
关于docker - 水平缩放如何减少系统负载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175376/