Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
大型站点的最佳ASP.Net缓存持续时间?_Asp.net_Caching_Outputcache - Fatal编程技术网

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

大型站点的最佳ASP.Net缓存持续时间?,asp.net,caching,outputcache,Asp.net,Caching,Outputcache,我读过很多关于如何进行ASP.Net缓存的资料,但很少有关于页面应该缓存的最佳持续时间的资料 假设我有一个有50000页的热门网站。内容不会经常更改,因此如果需要,我可以将页面缓存长达一小时。服务器有16 GB的RAM,但数据库连接有限 页面应该缓存多长时间 我的想法是,如果我将缓存持续时间设置得太高(比如说60分钟),我将用总内容的一小部分填充内存,这些内容将不断地在内存中来回移动 此外,假设10%的页面负责90%的流量。如果流行页面每秒被点击一次,而不受欢迎的页面每小时被点击一次,那么60秒

我读过很多关于如何进行ASP.Net缓存的资料,但很少有关于页面应该缓存的最佳持续时间的资料

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

页面应该缓存多长时间

我的想法是,如果我将缓存持续时间设置得太高(比如说60分钟),我将用总内容的一小部分填充内存,这些内容将不断地在内存中来回移动

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


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

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

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

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

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