我有一个相当简单的 Web 应用程序在 Azure 的 B1 服务计划中的应用服务计划中运行。该计划提供 1 个 CPU 和 1.75GB RAM。
CPU 使用率永远不会超过 5% 左右,内存使用率永远不会低于 52%。
我确实停止了计划中唯一运行的站点,并且内存使用量根本没有下降。我创建了一个新的应用服务计划并让它运行一天,这段时间内最低内存使用率为 50%,其中没有运行任何应用程序。
我知道造成这种情况的原因可能是操作系统和操作系统上运行的服务,但获得我所支付的 50% 的内存是非常令人沮丧的 - 我的应用程序会随着时间的推移而增长。
我可以对计划本身做些什么来降低内存消耗吗?
关于应用程序,除了禁用我不需要的功能(例如 Python 和 PHP)以及将应用程序设置为 32 位之外,还有其他选项吗?
这就是这些服务的工作原理。 50% 将用于运行操作系统(该操作系统可能已经经过很好的调整,可以尽可能少地运行)。值得一提的是,当规模扩大时,这个数字不会保持在 50%。如果我们遵循“基础设施”占用 900mb 的原则,那么当您扩大规模时,这个数字很可能会保持不变。因此,将 3.5GB 型号加倍意味着操作系统将占用 25% 的可用内存。
如果您不访问 *.scm.azurewebsites.net 网站,那么它不会占用任何内存(因为不会加载),并且如果您与自己的其他应用程序共享应用程序服务计划那么禁用“始终打开”将意味着您的应用程序在不使用时不会占用任何内存。
据我所知,唯一不将操作系统包含在您可以使用的可用内存中的是Azure 函数 https://learn.microsoft.com/en-us/azure/azure-functions/functions-overview / AWS Lambda https://aws.amazon.com/lambda/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)