我对此并不十分肯定,因此寻找最佳实践,而不是实施。考虑到绩效方面,这对我们来说确实非常重要。
我的网站每天有100万次点击。除了用于托管静态内容的CDN之外,在网站上我有一个大型菜单,它基本上是从静态文件中读取(将其视为xml / html)。因此,对于每个访问者/页面视图,命中该文件并执行文件读取操作。然后它被渲染。
现在,如果我将相同的静态文件内容存储到输出缓存中,则可以减少文件读取。我可以将它设置为每小时过期,以便保持新鲜。
是否会有任何性能提升,因为每次点击都不需要读取操作?你怎么看?
更新
只是补充说我正在使用razor引擎在ASP.net MVC3 C#平台的顶部构建一个非常繁忙的网站。无论需要什么实现,都需要考虑IIS7 /.net支持。
答案 0 :(得分:1)
缓存代理将为您完成相同的工作 我(个人)不会简单地使用RAM磁盘选项,因为它增加了文件系统访问的开销(显然比实际FS更快,但是你必须每次都读取目录结构来访问文件)。
答案 1 :(得分:0)
您可以设置ramdisk来存储大量读取的文件。这可以在GNU / Linux上轻松完成,我也被告知它在Windows上也可行。