当内存使用率超过 90% 时,IIS 上的经典 ASP 应用程序将关闭

当内存使用率超过 90% 时,IIS 上的经典 ASP 应用程序将关闭

我遇到了一个问题,当服务器拥挤程度超过 90% 的内存使用率时,所有经典ASP应用程序都会关闭。这是因为应用程序无法再创建新会话。IISASP

应用ASP.NET程序不受该问题的影响并且运行良好。

有没有什么办法可以解决这个问题(比如给服务器增加内存)?

答案1

如果你不愿意增加内存,那么可以考虑内存管理用于 asp 应用程序中的会话。

在大多数情况下,并非所有网站访问者都需要与会话相关联。在很多情况下,当我访问网站时,我不需要它在我浏览网站时记住我。如果您在代码中避免了任何特定于会话的行为,例如设置会话变量或检索会话 ID,ASP 引擎将很好地发挥作用并在请求结束时为您销毁它为请求创建的会话。

这个问题出现在我们的一次压力测试中,当时我们观察到某些页面的内存消耗略有增加。在这些页面上,我们使用 <%Session.LCID = some_value%> 设置会话的区域设置 ID。我很困惑地发现,从页面中删除此指令会终止内存消耗增加,尽管页面上有更多的脚本代码,这些脚本代码似乎不受我当时认为的内存泄漏的影响。事实证明,我们所做的只是更改 ASP 会话状态,这反过来又导致 ASP 引擎保持会话处于活动状态,而其他页面则没有会话更改代码。

来源

相关内容