内存使用率超过90%时,IIS上的传统ASP应用程序closures

当拥挤的服务器超过90%的内存使用量时,我遇到了IIS上的所有经典ASP应用程序closures的问题。 这是因为ASP应用程序无法再创build新的会话。

ASP.NET应用程序不受这个问题的影响,运行良好。

有没有解决这个问题的任何方法(期望添加内存到服务器)?

如果你不愿意增加你的RAM,那么考虑你的asp应用程序中的会话的内存pipe理

在大多数情况下,并不是所有访问者都需要与他们关联的会话。 在我访问一个网站的很多情况下,我不需要它来记住我,而我正在浏览网站。 如果在你的代码中,你已经避免了会话特定的行为,例如设置一个会话variables或者检索会话ID,那么ASP引擎就会很好地运行,并在请求结束时销毁它为请求创build的会话。

这个问题出现在我们的压力testing中,其中一些页面的内存消耗有小幅增长。 在这些页面上,我们使用<%Session.LCID = some_value%>来设置会话的区域设置ID。 我很困惑地看到,从页面中删除这个指令终止了增加,尽pipe页面上有更多的脚本代码,这些脚本代码似乎没有受到我当时认为是内存泄漏的影响。 事实certificate,我们所做的一切正在改变ASP会话状态,这反过来又导致ASP引擎保持会话活跃,与其他没有会话更改代码的页面相反。

资源