Rails 5-有没有办法记录缓存未命中?

时间:2018-09-11 16:45:13

标签: ruby-on-rails asset-pipeline

试图调试为什么我们会丢失缓存。在config / environments / production.rb中,我们将资产回退为true:

config.assets.compile = true

每隔一段时间,我们会看到CPU激增,而元凶是nodejs,我们认为这是由于此行而触发的(当有未命中时,它正在编译资产)。当资产丢失时,有没有一种方法可以记录到生产日志中,也可以自己记录,所以我们可以弄清楚为什么不将其添加到预编译位置?

感谢您的帮助, 凯文

1 个答案:

答案 0 :(得分:-1)

您提到的指令用于资产编译,而不是缓存。用于缓存的config.rb指令为(https://guides.rubyonrails.org/caching_with_rails.html

config.action_controller.perform_caching = true|false

这不会影响静态资产的缓存,例如图像,javascript文件或样式表。为此,您需要查看Web服务器设置,并查看为什么静态资产未正确缓存。您表示偶尔会出现峰值。尖峰是否始终隔开?如果是这样,则可能是您的缓存生存时间设置得太短,您需要提高它。部署后您立即看到峰值吗?如果是这样,您的资产可能不会在该环境中进行预编译。您甚至可能同时遇到两个问题。

相关问题