2

您好,我在 Windows Azure 上部署了一个 Web 应用程序作为云服务。现在我正在对这个应用程序执行一些负载/压力测试。在 Azure 管理门户中,我已将 Web 角色配置为在 CPU 超过 40% 时自动扩展。

我只使用此 Web 角色的一个实例开始测试。随着测试的进行,我将并发用户数设置为随着时间的推移增加到 2000 个用户。

开始测试后,我通过远程桌面连接到 Azure 上的 Web 角色实例,并监控 CPU 使用情况。大约 10 分钟后,CPU 一直保持在 100%(实际上我在测试中的请求需要很长时间才能完成)但是如果我在 Azure 管理门户上检查相同 Web 角色的 CPU,它会显示 1 , 2 或 6,有 70% 的峰值,但它立即回落(但从来没有我在远程桌面连接时在其任务管理器中看到的值)甚至不显示任何值(我转到仪表板页面我的云服务),这意味着图表不再更新。

此外,这就是我的问题的重点,无论如何都不会执行 Web 角色实例的缩放。

有什么想法/我缺少什么吗?随意问我的解释是否不完整。

4

2 回答 2

2

有几点需要考虑:

1) 正如 Rick 指出的那样,默认情况下 CPU 平均采用一小时

2) 如果您仅从 1 台服务器开始,然后自动扩展至 2 台,则您的第一台服务器将在扩展操作期间从负载均衡器中拉出。您应该始终至少拥有 2 台服务器。

3) 随意查看 AzureWatch(我的个人资料中的链接)。它旨在执行相当高级的扩展方案,并允许您在不接触 API 的情况下配置扩展规则

于 2015-02-19T03:28:29.303 回答
2

云服务或虚拟机的 CPU 指标自动缩放不会像您预期的那样快(约 10 分钟以上)。在这种情况下,CPU 指标在 1 小时内对所有服务实例进行平均。因此,您的自动缩放操作不会立即生效。

您可以在此处阅读有关此内容的更多信息以及配置自动缩放设置的一些建议。

如果您想进一步加强这一点,请查看这篇文章,其中我展示了如何使用监控服务管理库设置时间窗口。采用这种方法,您可能会更接近您想要的东西。

于 2015-02-17T15:38:46.253 回答