2

我在 Azure 的应用服务计划中运行了一个相当简单的 Web 应用程序,在 B1 服务计划中。该计划提供 1 个 CPU 和 1.75GB 的 RAM。

CPU 使用率永远不会超过 5%,内存使用率永远不会低于 52%。

我确实停止了计划中运行的唯一站点,并且内存使用量根本没有下降。我创建了一个新的应用服务计划并让它运行了一天,在这段时间内,最小内存使用率为 50%,其中没有运行任何应用程序。

我知道造成这种情况的原因可能是操作系统和在操作系统上运行的服务,但是获得我支付的 50% 的内存是非常令人沮丧的——我的应用程序会随着时间的推移而增长。

我可以对计划本身做些什么来降低内存消耗?

关于应用程序,除了禁用我不需要的功能(如 Python 和 PHP)并将应用程序设置为 32 位之外,还有其他选项吗?

4

1 回答 1

2

这就是这些服务的工作方式。50% 将用于运行操作系统(它可能已经很好地调整为尽可能少地运行)。可能值得一提的是,当你扩大规模时,这个数字不会保持在 50%。如果我们按照“基础设施”占用 900mb 的原则工作,那么当您扩大规模时,这个数字很可能会保持不变。因此,加倍至 3.5gb 模型将意味着操作系统将占用 25% 的可用内存。

如果您不访问 *.scm.azurewebsites.net 站点,那么它不会占用任何内存(因为它不会被加载),并且如果您正在与您自己的其他应用程序共享应用程序服务计划那么禁用“始终开启”将意味着您的应用在不被使用时不会占用任何内存。

我知道的唯一服务不包括您可以使用的可用内存中的操作系统是Azure Functions / AWS Lambda

于 2017-01-19T20:59:49.517 回答