DigitalOcean负载均衡器性能最佳实践

DigitalOcean负载平衡器是一种全面管理的高可用性服务,可将传入流量分发到Droplet池。

以下是关于如何根据您的用例和应用程序体系结构从Load Balancers中获得最佳性能的一些建议。

除了以下建议之外,我们在2018年5月对负载平衡器进行更新 ,其中包括对其支持基础架构的重大改进,从而为所有用户立即提高性能,无需任何费用且无需工作。

使用HTTP / 2

我应该什么时候这样做?

在大多数生产工作负载中,HTTP / 2由于其流水线和连接处理而优于HTTP和HTTPS。 我们建议使用它,除非有明确的HTTP或HTTPS情况。

这是如何提高性能的?

HTTP / 2是较旧的HTTP / 1.x协议的主要更新。 它的设计主要是为了减少页面加载时间和资源使用。

其主要功能提供显着的性能改进; 例如,HTTP / 2是二进制(而不是文本)并且是完全复用的,使用头压缩​​,并且具有传递文件的优先级机制。

IETF HTTP工作组关于HTTP / 2文档是了解更多信息的好资源。

我如何实现这个?

您可以通过来使用HTTP / 2。 此外,负载平衡器可以终止 HTTP / 2客户端连接,使其可以充当HTTP / 2客户端和HTTP / 1.x应用程序的网关。 换句话说,您可以转换现有应用程序,而无需将Droplet上支持的应用程序从HTTP / 1.x升级到HTTP / 2。

监视你的Droplet的性能

我应该什么时候这样做?

监控提供了关键的性能见解,应该成为任何生产设置的一部分。

这是如何提高性能的?

通常情况下,性能问题是由于后端资源不足而造成的,而不是Load Balancer本身或其配置。 通过监控,您可以识别影响基础架构性能的瓶颈,包括您的工作负载何时会使您的Droplet负载过重,从而实现最有影响的更改。

我如何实现这个?

有很多方法可以监视性能。 DigitalOcean Monitoring是一个免费的入门服务,可为您提供有关您的基础设施资源使用情况的信息

您可以先查看默认Droplet Graphs并以获取有关CPU,内存和磁盘利用率的更多信息。 如果您发现自己的工作量没有足够的资源,则可以缩放您的Droplet

水平或垂直缩放Droplet

我应该什么时候这样做?

如果您的后端Droplet没有足够的资源来跟上工作量,则应考虑扩大或缩小。

这是如何提高性能的?

如果您的负载平衡器在您的Droplet中分配工作量并不重要,因为它们的总工作量太大而无法处理,因此确保后端Droplet池具有足够的资源至关重要。

有两种扩展方式:水平方式,即将工作分配到更多的服务器上,垂直方式增加现有服务器可用的资源。 尽管负载平衡器可以实现水平缩放,但这两种缩放都可以提高性能。

我如何实现这个?

要水平缩放,您可以通过导航到控制面板中的特定Load Balancer页面并单击Add Droplets按钮来 。

您使用的Droplet类型也会影响性能 ,因此请确保为您的应用选择正确的Droplet 例如, 适用于计算密集型工作负载,如CI / CD和高性能应用程序服务器。

要垂直缩放,您可以调整现有的Droplet的大小 ,为它们提供更多的RAM和CPU。

选择正确的负载平衡算法

我应该什么时候这样做?

DigitalOcean负载平衡器允许您通过两种不同算法分配负载:循环和最少连接。 循环法是默认设置,是最流行的算法,适用于大多数使用情况。

但是,如果客户端倾向于长时间保持与应用程序的连接,则可能需要考虑切换到最少连接算法。

这是如何提高性能的?

轮循算法轮流向每个后端服务器轮流发送请求,而不考虑任何有关底层服务器的信息。 顾名思义,最少连接算法会以最少的连接向服务器发送请求。

当客户端连接趋于长久时,使用循环法可能会导致并发连接到服务器的数量累积。 如果与服务器的连接数与其负载相关,则使用最少连接数算法将比循环法更均匀地在后端服务器上分配工作。

我如何实现这个?

无论大量连接是否会导致服务器负载过重,都将取决于每个连接的工作负载的资源密集程度,因此首先监控您的Droplets以了解其资源利用率。

Load Balancer配置的高级设置部分包括在循环和最少连接之间进行选择的选项。 您可以 。

下一步

有关DigitalOcean负载平衡器的更多信息,请参阅:

通常您可以通过以下方式了解有关负载平衡的更多信

您也可以阅读我们的产品发布说明

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏