【问题标题】:Grails 2.4.5 cache static resources in memoryGrails 2.4.5 在内存中缓存静态资源
【发布时间】:2017-02-24 05:35:27
【问题描述】:

我们的 grails 服务器负载很大。我正在使用 lsof 显示打开的文件,并且我看到每个 css 和 js 文件都有多个打开的文件句柄。我们这样的文件很少,所以我认为将它们缓存在内存中并避免为它们进入操作系统(避免内核/fs/文件处理开销,即使操作系统缓存它们)会更有意义。

是否有一些资产管道或其他配置(另一个插件?)会告诉它在内存中缓存这些文件而不是从磁盘请求它们?

【问题讨论】:

    标签: caching grails grails-2.0


    【解决方案1】:

    您使用哪个版本的资产管道插件? https 中的资产缓存存在问题:https://github.com/bertramdev/grails-asset-pipeline/issues/368

    我们已通过在您的应用程序中将资产管道依赖项更新为较新版本来解决此问题。

    或者您有很多唯一身份访问者?

    【讨论】:

    • 这似乎与浏览器的缓存标头有关。我说的是服务器上的缓存,而不是浏览器。是的,我们有很多独特的访客。我想将文件的内容缓存在内存中并直接从 webapp 传递,而不是去文件系统获取这些内容。
    • @ttt 也值得一看 memcached - 您可以使用各种技术运行它
    • 如果我想要一个更复杂的独立解决方案,它会使用 Web 服务器或 CDN 来前端 grails。但我只想要一个在 grails 中缓存文件的简单解决方案。我原以为会有一个设置或插件,但是......也许没有。