大型站点的最佳ASP.Net缓存持续时间?

时间:2010-06-02 17:55:23

标签: asp.net caching outputcache

我已经阅读了很多关于如何进行ASP.Net缓存的材料,但很少考虑应该缓存页面的最佳持续时间。

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

页面应缓存多长时间?

我的想法是,如果我将缓存持续时间设置得太高(让我们说60分钟),我将用总内容的一小部分来填充内存,这将不断地进入内存和内存中。

此外,假设有10%的网页负责90%的流量。如果流行的页面每秒都被点击,而每小时都不受欢迎,那么60秒的缓存只能在不牺牲新鲜度的情况下缓存负载密集型内容。

是否应该缓存大量但很少访问的内容?

2 个答案:

答案 0 :(得分:2)

我认为您永远不会找到有关优化缓存的公布公式或严格指南。每种情况都会发生根本的不同,即使从你在这里谈论的变量数量来看,也不可能量化。

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

听起来你已经掌握了可能发生的事情,所以我开始缓存代表你的高流量的10%,并从那里进行优化。使用较少使用的内容,您可能会或者可能不会发现任何性能提升,但首先要将您的精力投入到主要优化中。

答案 1 :(得分:0)

一种选择是利用某种磁盘缓存,而不是内存缓存,至少对于不经常访问的页面。但总的来说,缓存的关键是支持可能在短时间内再次发出的请求。所以我当然会优先考虑经常要求的页面。