如何在windows azure中有效扩展?

Bit*_*ian 4 c# concurrency scalability azure azure-web-roles

我在确定有效扩展云服务的正确配置方面遇到了一些困难.我假设我们只需要使用管理门户的规模部分而不是以编程方式进行任何操作?我目前的Web角色配置是

中型VM(4 GB RAM)自动缩放 - CPUInstance范围 - 1到10Target CPU - 50到80Scale一次上下调整1个时间刻度上下等待时间 - 5分钟

我使用http://loader.io/站点通过向API发送并发请求来进行负载测试.它只能支持50-100个用户.之后我得到超时(10秒)错误.我的应用程序将大规模地针对数百万用户,所以我不确定如何有效地扩展以满足服务器上的那么多负载.

我认为问题可能是扩展时间是5分钟(我认为它非常高),而在管理门户网站中,最低选项是5分钟,所以不知道如何减少它?

有什么建议?

Igo*_*rek 6

Azure的自动扩展引擎每5分钟检查60分钟的CPU利用率平均值.这意味着每5分钟它就有机会决定你的CPU利用率是否过高并扩大规模.

如果您需要更强大的功能,我建议您考虑以下事项:

  • CPU使用率很少是扩展网站的良好指标.查看请求/秒或请求/当前而不是CPU利用率.
  • 考虑检查是否需要更频繁地扩展(每1分钟?)Azure门户无法做到这一点.您将需要芥末AzureWatch
  • 根据您的使用模式,考虑查看较短的时间平均值来做出决定(即:平均超过20分钟而不是60分钟).您再次选择WASABi或AzureWatch
  • 考虑一下指标中的/ rate /增长,而不仅仅是最新的平均值.IE:请求/秒在过去20分钟内上升了20%.再一次,Azure自动调节引擎无法做到这一点,考虑WASABi(可能这样做)或AzureWatch肯定可以做到这一点.

WASABi是Microsoft的应用程序块(即:DLL),您需要自己配置,托管和监视某个地方.它非常灵活,您可以覆盖任何功能,因为它是开源的.

AzureWatch是第三方托管服务,用于监视/自动协调/修复 Azure角色/虚拟机/网站/ SQL Azure /等.这需要钱,但你让别人做了所有肮脏的工作.

我最近写了一篇关于三种产品比较的博客

披露:我隶属于AzureWatch

HTH