页面缓存与内存的消耗

问:
aspx页面缓存后, 内存消耗会因为访问者的数量增加而增加吗?
把一个aspx网页进行了缓存后, 当有1000个访问者同时访问时, 服务器的内存使用是多少
?
如果是1,
000,000个访问者同时访问呢? 

就是说, aspx页面缓存后, 内存消耗会因为访问者的数量增加而增加吗? 明白我说什么吗?

答:

asp.net页面缓存可以根据不同条件对同一页面保留不同缓存页。

比如同样对于A.aspx页面,假设设置为根据URL上的参数X的不同而缓存不同版本页面,则当X
=1时系统将保留1份缓存,当X=2时,系统再保留一份缓存,这样系统中对于A页面有2个缓存,占用2份内存,但是对于所有访问X=1和X=2的A页面的所有用户请求,不管是 1,000个还是100,000,000个,都只是分别访问内存中的这2份缓存中的其中一个而已,不会再增加额外的内存消耗,除非有一个人请求X=3的页面,当有人申请X=3的页面时,系统会再增加一个针对X=3的缓存,从而系统中保留了3份A页面缓存。

页面缓存只会根据设置的条件的不同而缓存多份页面,而不是根据请求的数量。对于条件的多个值会缓存多份页面,但是对于同一个条件的请求,总是使用同一份缓存。

 背景介绍:

    为了帮助您提高应用程序的性能,ASP.NET 使用两种基本的缓存机制来提供缓存功能。第一种机制是应用程序缓存,它允许您缓存所生成的数据,如 DataSet 或自定义报表业务对象。第二种机制是页输出缓存,它保存页处理输出,并在用户再次请求该页时,重用所保存的输出,而不是再次处理该页。
     出于以下原因之一,ASP.NET 可以从缓存中移除数据:
1.由于服务器上的内存不足,开始一个称为“清理”的过程。
2.由于缓存中的项已过期。
3.由于项的依赖项发生了更改。 
     为了帮助管理缓存项,在将项从缓存中移除时,ASP.NET 会通知应用程序。

 

来源:

 微软中文技术论坛(MSDN and TechNet) » Web 技术 » ASP.NET 与 AJAX » aspx页面缓存后, 内存消耗会因为访问者的数量增加而增加吗?

 

posted @ 2008-10-22 09:35  badapple  阅读(675)  评论(0编辑  收藏  举报