【发布时间】:2018-09-26 19:09:38
【问题描述】:
我认为我们遇到了内存泄漏,但我不知道是怎么回事。它似乎只发生在应用服务 Plan 上,而不是在其上运行的应用服务上。这是 Azure 中的问题吗?有其他人经历过吗?详情如下。
...
每个应用服务计划(Prod 和 RC)有 2 个插槽,分别运行 3 个和 1 个实例。每个实例显示 3-5% 的内存使用率,由于流量要低得多,通常在 RC 上约为 3%,在生产中为 4-5%。
如果这有什么不同的话,我们在 P1v2 层上运行的 Linux 应用服务计划使用适用于 Node 8 的标准 Microsoft Linux 映像。我们有 3 个应用服务计划正在使用中,并且都显示出同样的奇怪问题。在走 MS 支持路线之前,我想我会看看是否有其他人遇到过问题或可以指出要查看的地方。
似乎主机上的 docker 没有清除旧的运行实例,因此它们继续消耗内存,但我可能是错的。
编辑:我发现了这个,它解释了差异,但没有解释这个问题的原因。 https://blogs.msdn.microsoft.com/benjaminperkins/2016/11/01/memory-metrics-for-an-azure-web-app-and-app-service-plan/
...
应用服务计划清楚地显示了泄漏。开始时的下降是在我因为内存超过 80% 而强行重新启动之后。
NewRelic 同意应用服务很好。忽略额外的主机,NewRelic 在一个图表上显示所有区域,Azure 图表针对单个区域。
【问题讨论】:
-
您认为这是我们的吗?我们在某些 appPlans 中看到了同样的问题,请参阅此问题:github.com/aspnet/EntityFrameworkCore/issues/15173
-
不,但我们设法证明这不是我们的应用程序泄漏内存。从那时起,微软发布了多个更新,内存问题得到了显着改善,并且在内存开始不足时也会释放内存。为了进一步安全起见,我们将在周末重新启动 Cron 作业。
标签: azure azure-app-service-plans