ASP.应用程序/会话缓存是否强制应用程序重新启动



我希望这更像是一场讨论。

我有一个网站www.utopiapimp.com。现在它每天的浏览量超过100万。这个网站上有大量的动态数据总是在变化。想想在线网页游戏中的"实时股票报价"吧。我遇到了很大的困难。

当web应用程序启动时,我从数据库加载了一些静态项目,但在那之后,每次用户登录时,我都会为该用户进行15次db调用,并从这些15次db调用中将整个对象放入缓存中。在我的服务器监视器上,我可以看到我的4gb内存慢慢地增加到只有2gb。然后发生了一件我不知道是什么事。

1核CPU VPS,开始永远处于25%。有时处理量会飙升到50%以上。但大约20分钟后,2gb或ram突然下降到约400毫克,再也无法恢复。

我可以一遍又一遍地重复。我不知道是什么原因造成的,但我一丝不苟地扫描了网站和代码,发现没有真正的挂起。我开始想可能是我访问了缓存,在缓存中存储了太多的东西,但我真的没有得出结论。

那么在听到这个场景之后,有人能建议我可能错过的东西吗?也许应用程序崩溃了?它会因为收到的点击量而挣扎着重新启动,然后一直崩溃?

我对这个问题很纠结,似乎找不到解决办法。

也许升级到一个更好的vps可能会工作,但我不想升级几乎发现同样的问题。

任何帮助或建议都将是辉煌的,因为我在过去的一周一直在努力解决这个问题,我的用户真的在寻找一个解决方案。

编辑

我联系了我的托管公司,等待回复。如有其他建议或意见,我将不胜感激。

非常感谢!

section processmodel in machine。config包含一个参数memoryLimit,通常为可用内存的60%。这可能会导致应用程序池的重置。尝试增加数量,看看这是否会导致重置。

<processModel ...
          memoryLimit="60"
/>

另一种可能性是。net内存不足并清除缓存。我曾经创建一个管理页面,在那里我可以看看哪些对象目前存储在缓存中。

编辑:如果在会话中存储大量数据,则需要的内存会随着每个用户的增加而增加。会话超时后,所需的内存将减少。您应该尽量避免在会话中存储过多的数据。

相关内容

  • 没有找到相关文章

最新更新