【发布时间】:2012-12-27 16:34:07
【问题描述】:
我在某处读到,对于高流量网站(我想这也是一个模糊的术语),30 - 60 秒是一个不错的值。显然我可以进行负载测试并改变值,但我找不到任何关于此的文档。大多数样本都有一分钟,几分钟。没有推荐的范围。在 msdn 或任何地方有什么东西在谈论这个吗?
【问题讨论】:
标签: asp.net http outputcache
我在某处读到,对于高流量网站(我想这也是一个模糊的术语),30 - 60 秒是一个不错的值。显然我可以进行负载测试并改变值,但我找不到任何关于此的文档。大多数样本都有一分钟,几分钟。没有推荐的范围。在 msdn 或任何地方有什么东西在谈论这个吗?
【问题讨论】:
标签: asp.net http outputcache
这一切都取决于内容是否经常变化。对于缓慢或非变异的内容,较长的值非常有效。但是,您可能需要缩短不断变化的数据的值,否则可能会输出错误。
【讨论】:
这完全取决于用户请求您的资源的频率以及资源的大小。
首先,重要的是要了解,当您缓存某些内容时,该资源将保持不变,直到缓存持续时间用完。短期缓存比长期缓存对网络服务器的负担更大,但如果请求的资源发生变化,短期缓存将提供更多最新数据。
显然,您希望尽可能多地缓存数据库查询,优先考虑那些经常调用的查询。但是所有缓存都会占用服务器上的内存,并且当资源不足时,缓存将被驱逐。在将大型内容缓存更长的时间时,请考虑到这一点。
如果您想了解用户请求资源的频率,您可以使用Google Analytics,它非常容易设置。
对于非常详尽的分析,您可以使用Kiwik。但它需要一个本地服务器。
在非常变化的资源上,根本不要缓存,除非它真的很耗费资源并且对实时更新并不重要。
给你一个确切的数字或建议会伤害你,周围有太多变数。
【讨论】: