一个大型网站的最佳ASP.Net缓存持续时间是多久?

3

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

假设我有一个拥有50,000个页面的流行网站。由于内容不经常更改,因此我可以将页面缓存长达一个小时。服务器有16 GB的RAM,但数据库连接受限。

页面应该缓存多长时间?

我认为,如果我将缓存持续时间设置得太长(比如60分钟),我将用总内容的一小部分填满内存,这将不断地在内存中进出。此外,假设10%的页面负责90%的流量。如果热门页面每秒钟被访问一次,而不受欢迎的页面每小时被访问一次,则60秒的缓存只会保持高负载内容的缓存而不会牺牲新鲜度。

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

2个回答

2
我认为你不可能找到一种公式或者严格的指南来优化你的缓存。每个情况都会有很大的不同,即使从你所提到的变量数量来看,也是不可能量化的。
这将是经验、猜测、监控和逐步调整的结合体,以找到任何给定应用程序的缓存最佳点。
听起来你已经掌握了可能发生的情况,所以我建议你先缓存代表高流量的10%,然后再进行优化。你可能会在以后的 less-used content 中发现更多的性能提升,但是首先要把精力放在主要的优化上。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接