1

我希望这更像是一个讨论而不是任何事情。

所以我有一个网站 www.utopiapimp.com。现在它每天的页面浏览量超过 100 万。这个网站上有大量的动态数据总是在变化。想想“实时股票行情”,但对于在线网页游戏。我遇到了一个很深的障碍。

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

1 核 CPU VPS 开始永远处于 25%。有时处理峰值会超过 50%。但是大约 20 分钟后,2gbs 或 ram 突然下降到大约 400mgs 永远不会恢复。

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

因此,在听到这种情况后,任何人都可以建议我可能遗漏的东西吗?也许应用程序崩溃了?并且它很难重新启动它收到的点击量并且一直在崩溃?

我很挂断这个问题,似乎找不到解决方案。

也许升级到更好的 vps 可能会奏效,但我不想升级几乎在那里发现同样的问题。

任何帮助公关建议都会很棒,因为过去一周我一直在为此苦苦挣扎,而我的用户确实在苦苦寻找解决方案。

编辑

我已经联系了我的托管公司并等待回复。任何其他建议或想法将不胜感激......

非常感谢!

4

1 回答 1

1

machine.config 中的processmodel部分包含一个参数 memoryLimit,通常为可用内存的 60%。也许这会导致您的应用程序池重置。尝试增加数量以查看这是否会导致重置。

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

另一种可能性是 .NET 内存不足并清除缓存。我曾经创建一个管理页面,我可以在其中查看当前存储在缓存中的对象。

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

于 2011-11-21T06:41:29.677 回答