最近我一直非常关注ASP.NET中的内存问题。
我一直在阅读很多文章,制作了一个帖子并使用了一个分析器来优化我的应用程序。我还在这里阅读了关于private bytes, virtual bytes and working set的差异的文章。
所以,我理解私有字节是确定内存实际使用的一种不好的方法。但是,我想尝试一下,因为我想深入了解我的应用程序内存使用情况。
现在它经常使用~55-60mb的私有字节。这是否意味着如果我想在我的网站上同时运行2.000个用户,我需要:60mb * 2000 = 120gb ram?
我真的希望有人能来告诉我,我完全错了,我不在乎! :)
我还测试了一个功能非常有限的非常基本的站点,它使用了大约40-45mb的私有字节,这看起来也很多。
答案 0 :(得分:1)
没有;内存使用量不随用户数线性增长。
大多数内存(或应该)在所有用户之间共享(尤其是字节码);每个额外用户使用的内存量应该相当小。
此外,即使您有2,000个用户,也不会同时收到2,000个请求 唯一持久的每用户开销是每个活动用户的会话状态。
答案 1 :(得分:0)
ASP.net在计算机上的任何应用程序都有一定的开销。 此基本金额将占您所使用的大部分内存。
关于每个会话/用户等所需的ram数量,这非常偏向于您的应用程序的设计。