Joe*_*eky 5 asp.net-mvc scalability azure azure-web-roles
Azure拥抱弹性缩放的概念,我已经能够通过我的工作者角色来实现这一点.但是,当涉及到我的Web角色(例如MVC应用程序)时,我不确定要监视(或如何)确定何时增加(或减少)运行实例的数量的好时机.我假设我需要监控一个或多个性能计数器,但不知道从哪里开始.
任何人都可以推荐一种最佳实践来评估相对于扩展决策的MVC Web角色实例加载吗?
这个问题有点开放式,因为监控通常是特定于应用程序的。话说回来:
从您在本地服务器上查看的简单测量开始,这些测量代表您的应用程序的 KPI。例如:也许看看网络利用率。此 TechNet 文章介绍了 System Center for Windows Azure 收集的性能计数器。例如:
您可能还想查看排队的请求数和请求等待时间。
网络利用率很有趣,因为您的 NIC 提供了大约。每个核心 100Mbps,即使 CPU 和其他资源未得到充分利用,最终也可能成为瓶颈。您可能需要扩展到更多实例以处理高带宽场景。
另外:我倾向于不太重视 CPU 利用率,尽管它很容易测量(并且在示例中频繁出现)。通常,以接近容量的方式运行 CPU 是一件好事,因为您为此付出了代价,并且还可以尽可能多地使用它。
至于减少:这需要更小心地处理。Windows Azure 计算按小时计费。比如说,如果您在 11:50 横向扩展至一个额外实例并在 12:10 再次横向扩展,则您刚刚消耗了两个 cpu 小时。另外:您不想横向扩展,然后进行新的测量并决定现在可以再次缩减(有效地创建添加和减少实例的恒定脉冲)。为了使事情变得更容易,请考虑在企业库中找到自动缩放应用程序块(WASABi)。它包含了所有的比例规则(例如我刚才提到的那些),并且使用起来非常简单。
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |