3

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

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

页面应该缓存多长时间?

我的想法是,如果我将缓存持续时间设置得太高(比如 60 分钟),我会用总内容的一小部分来填满内存,这些内容将不断地进出内存。

此外,假设 10% 的页面负责 90% 的流量。如果热门页面每秒被点击一次,而不受欢迎的页面每小时点击一次,那么 60 秒的缓存只会缓存负载密集型内容而不会牺牲新鲜度。

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

4

2 回答 2

2

我认为您永远找不到优化缓存的已发布公式或严格指南。每种情况都会完全不同,即使从你在这里谈论的变量数量来看,也无法量化。

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

听起来您已经掌握了可能发生的情况,所以我将从缓存代表您的高流量的 10% 开始,然后从那里进行优化。您可能会或可能不会在使用较少的内容的道路上进一步发现任何性能提升,但首先要努力进行主要优化。

于 2010-06-02T22:51:56.117 回答
0

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

于 2010-06-02T18:37:07.140 回答