【发布时间】:2014-10-03 04:01:09
【问题描述】:
我正在使用 MVC3、ASP.NET4.5、C#、Razor、EF6.1、SQL Azure
我一直在使用 JMeter 进行一些负载测试,并且发现了一些令人惊讶的结果。
我对 30 个并发用户进行了测试,测试时间超过 10 秒。测试计划相当简单:
1) Login
2) Navigate to page
3) Do query
4) Navigate back
5) Logout.
我正在使用“小型”“标准”实例。
我发现,当我的 Azure 设置配置为“自动缩放”时,它的行为就像我使用一个没有自动缩放的“小”实例进行的测试一样。当我设置两个没有自动缩放的“小”实例时,它的速度是测试的两倍,或者更确切地说,每个请求的平均处理时间是测试的 2 倍。所以看起来它不是自动缩放的。我尝试将 CPU 触发器设置为较低的目标,即 40-70。仍然没有喜悦。
在进一步调查中,当首次引入“自动缩放”时,它似乎评估了前一小时的指标,现在我看到了对“10 分钟”的引用。我认为一旦 CPU 开始达到目标值,它就会立即触发新实例,这一定是“自动缩放”的全部要点。如果我有大量并发使用,我现在需要额外的实例,因此是使用 PAAS 的原因。由于我的测试用时不到 10 分钟,因此“Autoscale”从未启动。那么 Autoscale 启动所需的时间应该是多少?
谢谢。
【问题讨论】:
-
测试运行多长时间?我有一种感觉,在启动新实例之前,需要在一小段时间内达到或超过自动缩放目标。根据我在文档中收集到的信息,Azure 每 5 分钟检查一次指标,然后采取行动 (azure.microsoft.com/en-us/documentation/articles/…)
-
@BrendanGreen,是的,这很有用,它确实会参考应用程序是否在 5 分钟内达到峰值使用率,所以在我的情况下,我可能会将其设置为 2-4。现在只运行一个测试,我认为它会持续 15 分钟。 10 分钟后,看起来我只有一个实例在 NewRelic 中报告 CPU 数据。但我认为事实在文章中。所以需要更多的测试。请随时发布作为答案,以便我标记。
标签: azure azure-web-app-service