2010-06-02 89 views
3

我读过很多关于如何做ASP.Net缓存的资料,但很少介绍页面应该被缓存的最佳持续时间。大型网站的最佳ASP.Net缓存持续时间?

假设我有一个拥有50,​​000页的热门网站。内容不会经常更改,所以如果需要,我可以将页面缓存长达一个小时。服务器有16 GB的RAM,但数据库连接受到限制。

页面应缓存多长时间?我的想法是,如果我将缓存持续时间设置得太高(比如说60分钟),我会用内容的一小部分来填充内存,这些内容会不断地在内存中和内存之外进行混洗。

此外,假设有10%的网页负责90%的流量。如果流行的页面每秒都被击中,并且每小时都会触发不受欢迎的页面,那么60秒的缓存只会保持缓存负载密集的内容而不会牺牲新鲜度。

应该缓存许多但很少访问的内容吗?

回答

0

一种选择是利用某种磁盘缓存,而不是内存缓存,至少对于不常访问的页面。但总的来说,缓存的重点在于支持很可能在短时间内再次提出的请求。所以我肯定会优先选择经常请求的页面。

2

我不认为你会找到公布的公式或严格的指导方针来优化你的缓存。每种情况都会有根本的不同,甚至根据您在此讨论的变量数量,也无法量化。

这将是经验,猜测,监控和增量调整的组合,以找到任何给定应用程序的缓存甜蜜点。

听起来好像你已经掌握了可能发生的事情,所以我将开始缓存代表你高流量的10%,并从那里进行优化。您可能会或可能不会发现使用率较低的内容会进一步提升性能,但首先要将您的努力放在主要优化之上。