我们在 Azure 上托管一个网站作为应用服务,今天我们遇到了意外的内存行为。
我们有大约 200 个并发用户(对于我们的应用程序来说,这意味着每分钟大约有 3K 个请求),并且运行良好,直到突然内存使用量达到峰值。它短暂地升高,但很快又回到了以前的值。
这也导致我们的 CPU 在短时间内(几秒钟)达到 97%,从而导致响应时间增加,并且还发送了一些 HTTP-500 响应。
我们正在一个 S1 实例上运行,并且我们绝对准备在必要时进行扩展/缩小,但我们仍然想更多地了解这个峰值。有人认识到这种行为吗?
我还可以补充一点,我们的正常内存使用率约为 60-70%,这么高吗?即使在没有用户的晚上,它也不会下降。
附加信息:我们的 DTU 百分比从 25% 上升到 50%。这可能与此有关。如果数据库表在短时间内占用大量 I/O,是否有功能可以将整个数据库表加载到内存中?