从磁盘上的文件读取缓存 - 什么会更好?

时间:2012-08-16 14:52:23

标签: asp.net-mvc-3 performance outputcache

我对此并不十分肯定,因此寻找最佳实践,而不是实施。考虑到绩效方面,这对我们来说确实非常重要。

我的网站每天有100万次点击。除了用于托管静态内容的CDN之外,在网站上我有一个大型菜单,它基本上是从静态文件中读取(将其视为xml / html)。因此,对于每个访问者/页面视图,命中该文件并执行文件读取操作。然后它被渲染。

现在,如果我将相同的静态文件内容存储到输出缓存中,则可以减少文件读取。我可以将它设置为每小时过期,以便保持新鲜。

是否会有任何性能提升,因为每次点击都不需要读取操作?你怎么看?

更新

只是补充说我正在使用razor引擎在ASP.net MVC3 C#平台的顶部构建一个非常繁忙的网站。无论需要什么实现,都需要考虑IIS7 /.net支持。

2 个答案:

答案 0 :(得分:1)

缓存代理将为您完成相同的工作 我(个人)不会简单地使用RAM磁盘选项,因为它增加了文件系统访问的开销(显然比实际FS更快,但是你必须每次都读取目录结构来访问文件)。

答案 1 :(得分:0)

您可以设置ramdisk来存储大量读取的文件。这可以在GNU / Linux上轻松完成,我也被告知它在Windows上也可行。