用于确定Web服务器扩展和缩小的经验法则?

时间:2011-02-22 23:33:34

标签: performance webserver cloud

确定是否扩大或缩小我运行的基于云的Web服务器的数量有什么好的经验法则?除了为此目的应该监视的请求执行时间,处理器利用率,可用内存和每秒请求之外,是否还有其他指标?是否应使用加权平均值,标准差或其他计算来确定放大或缩小?最后,是否有任何特定的值最适合确定何时添加或减少服务器实例?

2 个答案:

答案 0 :(得分:3)

动态分配计算实例的这个问题带回了我在工程学院的控制系统类的记忆。似乎我们应该能够将经典的数字控制系统算法(认为PID循环和Z变换)应用于扩展服务器。旋转服务器实例类似于将发动机油门的步进电机移动一个档位以响应增加的负载而增加燃料和氧气速率。响应太慢,性能缓慢(过阻尼),速度过快,系统变得不稳定(欠阻尼)。

在计算域和物理域中,目标是使资源与负载匹配。好消息是计算系统是更易于处理的控制系统之一,因为拥有太多资源不会导致不稳定;它只需要花钱,类似于在带有电阻器组的系统中发电以烧掉多余的电力。

很高兴看到基本面如何再次出现!我们从中学到了所有这些。

答案 1 :(得分:1)

您的问题现在是一个热门的研究领域。但是,云提供商可以通过不同方式自动化Web服务器利用率。有关细节,它是如何工作的?哪些指标会影响扩展和缩小:您可以浏览一下paper

亚马逊已宣布Elastic Beanstalk,它允许您将应用程序部署到亚马逊的EC2(弹性计算云),并根据需求通过启动或终止服务器实例来扩展或缩小它。使用Elastic Beanstalk无需额外费用;您需要为使用的实例付费。

此外,您可以查看亚马逊AWS提供的Auto Scaling

  

Auto Scaling允许您缩放   亚马逊EC2容量自动上升   或根据你的条件下来   限定。使用Auto Scaling,您可以   确保Amazon EC2的数量   你正在使用的实例增加了   在需求激增期间无缝地实现   保持业绩并减少   在需求平静期间自动进行   降低成本。 Auto Scaling是   特别适合   每小时体验的应用程序,   每日或每周使用的可变性。   Amazon已启用Auto Scaling   CloudWatch并且没有   亚马逊以外的额外费用   CloudWatch费用。

我建议您阅读Amazon AWS的详细信息,以了解他们的系统如何利用Web服务器的扩展和缩小。