Windows Azure 自动缩放(CPU 使用率除外)

Windows Azure 自动缩放(CPU 使用率除外)

我有一个相当简单的 .NET MVC 应用程序。不需要太多的计算能力。但是,我们预计会有大量的流量。

我一直在使用 Blitz.IO 模拟并发用户,当并发用户数达到 8000 左右时,我开始注意到速度明显变慢,我想触发自动缩放事件。问题是 CPU 使用率只有 3% 左右。所以我的瓶颈不是 CPU。

我们当前的设置是分布在三个不同区域的三个 Web 应用程序,最多 30 台虚拟机。

我注意到在 Azure Web App 部分中,您可以按数据输入、日期输出、Http 队列进行扩展。我不太确定要使用哪一个,或者每个指标的具体含义是什么。而且我无法通过谷歌搜索找到这些指标的确切含义。

答案1

对于 Web 应用,您基本上有数据输入/输出、内存、CPU、磁盘队列和 HTTP 队列(使用预览门户查看所有这些)。通过只观察监视器中这些值在增加并发用户数量时的行为,即使您不完全理解它们,您也应该能够想出一个阈值来与自动缩放配合使用。以下是每个的简要说明:

中央处理器:平均 CPU 利用率(所有 VMS)

记忆:平均内存利用率(所有 VMS)

磁盘队列长度:待处理磁盘操作的数量。如果您的应用程序从磁盘读取/写入大量数据,这可能是您的差距。队列越多,您的 Web 服务器等待磁盘 I/O 继续的时间就越多。

Http 队列长度:待处理的 HTTP 操作数。如果您的应用程序收到的请求数超出了 Web 服务器的处理能力,则这可能是您的差距。通常是 CPU 的问题,但并非普遍情况。

数据输入/输出:流量入口/出口量(千字节)。如果您的应用程序传输大量数据,则网络带宽可能会成为您的缺口。

这是一个非常好的教程,可帮助您开始使用预览门户配置自动过时功能。

https://azure.microsoft.com/en-us/documentation/articles/web-sites-scale/

相关内容