如何在windowsazure中有效扩展
本文关键字:有效 扩展 windowsazure | 更新日期: 2023-09-27 18:26:58
我在确定有效扩展云服务的正确配置方面遇到了一些困难。我假设我们只需要使用管理门户的缩放部分,而不需要编程?我当前的Web角色配置是
中型虚拟机(4 GB RAM)自动缩放-CPU实例范围-1到10目标CPU-50到80一次按1个实例缩放上下等待时间-5分钟
我曾经http://loader.io/站点通过向API发送并发请求来进行负载测试。而且它只能支持50-100个用户。在那之后,我得到了超时(10秒)错误。我的应用程序将大规模面向数百万用户,所以我真的不确定如何有效地扩展以满足服务器上的那么多负载。
我认为问题可能是扩展时间为5分钟(我认为它非常高),而在管理门户中,最低选项为5分钟,所以不知道我如何减少它?
有什么建议吗?
Azure的自动缩放引擎平均每5分钟检查60分钟的cpu利用率。这意味着每5分钟它就有机会决定您的CPU利用率是否过高,并扩大您的规模。
如果你需要更强大的东西,我建议你考虑以下几点:
- CPU使用率很少是衡量网站规模的好指标。看转换为请求/秒或请求/当前,而不是CPU利用率
- 考虑更频繁地检查缩放的必要性(每1分钟?)Azure门户无法执行此操作。您需要WASABi或AzureWatch for this
- 根据您的使用模式,可以考虑查看较短的平均时间来做出决定(即:平均超过20分钟而不是60分钟)。再一次,您在这里的选择是WASABi或AzureWatch
- 考虑一下增长率而不仅仅是最新的平均值本身。即:请求/秒在过去20分钟内增加了20%。再一次,Azure自动缩放引擎无法做到这一点,请考虑WASABi(它可能这样做)或AzureWatch,它绝对可以做到这一点
WASABi是一个来自微软的应用程序块(即:DLL),您需要自己在某个地方配置、托管和监视它。它非常灵活,您可以覆盖任何功能,因为它是开源的。
AzureWatch是一个第三方托管服务,用于监视/自动缩放/修复您的Azure角色/虚拟机/网站/SQL Azure等。这要花钱,但你让别人做所有的脏活累活。
我最近写了一篇关于三种产品比较的博客
披露:我隶属于AzureWatch
HTH
最短时间为5分钟的另一个原因是Azure需要一些时间才能将其他机器分配给您的云服务并将您的软件复制到这些机器上。(WebApps没有这个"问题")在我作为saas管理员的工作中,我发现对于云服务,扩展后的升级时间对于我们的软件包来说大约是3-5分钟。
如果你想在Azure门户中配置扩展,那么我的建议是显著降低你的CPU范围。正如Igorek所提到的,Azure缩放查看过去60分钟的平均值。如果云服务大部分时间都在5%的CPU下运行,然后突然达到峰值并以99%的CPU运行,则平均值需要一段时间才能上升并触发您的缩放设置。将其保持在80%将导致扩展发生得太晚。RL示例:我管理一个运行一些CPU密集型计算的门户。在正常使用时,我们的云服务往往以2-5%的CPU运行,但在极少数情况下,我们看到它会上升到99%并保持一段时间。
我的第一次扩展尝试是2个实例,并以80%的平均CPU扩展到2个,但随后事件需要大约40分钟才能触发,因为平均CPU没有增长那么快。现在,当平均CPU超过25%时,我已经将一切都设置为可扩展,我看到我们的服务将在10-12分钟后扩展。我并不是说25%是一个神奇的数字,我是说要记住,你正在使用"平均超过60分钟"的
第二件事是,Azure门户只显示了一组有限的缩放选项,当你使用Powershell/REST时,可以更详细地设置缩放。例如,计算平均值的60分钟间隔可以降低。