除了CPU使用率之外的Windows Azure自动调节

我有一个相当简单的.NET MVC应用程序。 没有太多的计算能力需要。 但是,我们期待着巨大的stream量。

我一直在使用Blitz.IO来模拟并发用户,在大约8000个并发用户中,我开始注意到一个显着的减速,我想触发一个自动缩放事件。 问题是CPU使用率只有3%左右。 所以我的瓶颈不是CPU。

我们目前的设置是在三个不同地区的三个Web应用程序,最多30个VM。

我注意到,在Azure Web App部分,您可以通过Data in,Date Out,Http队列进行缩放。 我不完全确定要使用哪一个,或者每个人意味着什么。 而且我一直无法find这些指标是什么意思googline左右。

对于Web应用程序,基本上有数据input/输出,内存,CPU,磁盘队列和HTTP队列(使用预览门户来查看所有这些)。 通过仅监视监视器中的这些值中的任何一个在增加并发用户数量时的行为,即使您完全不了解它们,您也应该能够提出一个使用自动缩放的阈值。 以下是对每一个的简要解释:

CPU :平均CPU使用率(所有VMS)

内存 :平均内存利用率(全部VMS)

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

Http队列长度 :挂起的HTTP操作数。 如果您的应用程序正在接收比Web服务器可以处理更多的请求,这可能是您的差距。 通常CPU的故障,但不是一个规则。

数据input/输出 :stream量入口/出口(千字节)的数量。 如果您的应用程序传输大量的数据,networking带宽可能是您的差距。

这里有一个非常好的教程,让你开始使用预览门户configuration自动陈旧。

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