【发布时间】:2015-07-31 11:41:17
【问题描述】:
我在 Azure 上进行了相当高负载的部署:4 个大型实例每秒处理大约 300-600 个请求。正常情况下:“平均响应时间”为 70 到 150 毫秒,但有时可能会增长到 200 到 300 毫秒,但绝对可以。
虽然,每天一到两次(不是在“高峰时间”)我在网站监控选项卡上看到这样的图片:
因此,每分钟的请求数显着下降,平均响应时间增加到 3 分钟,一段时间后,一切都恢复正常。
在这次“停电”期间,只有 0.1% 的请求被丢弃(Http Server Errors with timeout),其他请求只是在队列中等待,通常会在几分钟后处理。不过,并非所有客户都准备好等待:-(
内存使用率一直低于 30%,CPU 使用率只有 40-50%。
我已经检查了什么?:
- 跟踪超时请求:它们确实在随机位置超时。
- Azure 存储和使用的其他组件的限制:根本没有限制。
- 我还尝试通过 CloudFlare 路由所有流量:并看到了同样的问题。
出现这些问题的原因可能是什么?接下来我可以检查什么?
提前谢谢大家!
更新 1:BenV 提出了很好的尝试,但不幸的是它什么也没显示 :-(
我配置了每 500k 请求回收一次进程,还添加了工作节点,因此 CPU 利用率现在全天不到 40%,但仍然会出现中断。
更新 2:项目使用 ASP.Net MVC 4。
【问题讨论】:
-
我在一个非常小的应用程序中遇到了类似的问题。我尝试了很多东西,解决方案是在开始时清除处理程序并手动添加它们。也许它也对你有帮助。
标签: c# asp.net-mvc-4 azure azure-web-app-service