ruby-on-rails - 对 Rails 应用程序的第一个请求非常慢

标签 ruby-on-rails ruby ruby-on-rails-4

我的 Rails 应用程序的第一个请求在所有环境中都非常慢。

这不应该是由于缓存/加载 gem 的方式不同。两个小时前还好,没有大的变化。

在我发现我的应用变慢之前的几个小时我做了什么:

  • 我在 production.rb 中搞砸了(不是在 development.rb 中):我在玩弄 config.serve_static_assets =是的

  • 我做了很多任务来诊断为什么 Assets 管道没有在生产中加载我的样式表和图像(比如 rake assets:precompile RAILS_ENV=productionrake:clean assets:precompile).

之后我显然试图撤消我所做的所有更改,但由于某种原因,我的应用程序现在开发速度很慢,而之前它非常好。

我该如何解决这个问题?

提前致谢:-)

更新 1

当我向 localhost:3000 发送请求时,仅在 12-13 秒后我收到: 开始 GET "/"for::1 at 随机时间

渲染行为正常。第一个之后的所有请求都可以。

更新 2

在我的应用程序的旧版本中,我执行了以下操作:

  • 用新的文件夹替换旧的“app”文件夹
  • 用新的文件替换旧的“db”文件
  • 用新的替换旧的“配置”文件

一切都在顺利进行,但仍然不知道问题出在哪里。请注意,昨天的应用程序版本仍然运行缓慢,因此这不是非 Rails 相关的问题。

最佳答案

回答

在本地主机上的生产中,我的 Assets 不知何故没有提供(虽然它们在预编译后确实出现在公共(public)目录中)。

在生产中.rb: config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present? 改为: config.serve_static_files = true 甚至 config.serve_static_assets = true。

这显然也减慢了开发环境中的第一个请求

关于ruby-on-rails - 对 Rails 应用程序的第一个请求非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37567194/

相关文章:

ruby-on-rails - 缓存序列化程序,无法缓存关联

javascript - 如何将中文十六进制字符串解码为汉字或JavaScript?

ruby - 如何重新创建任何? Ruby 中的方法

ruby-on-rails - 运行 '__rvm_make install' 时出错,

ruby-on-rails - before_save 如果 attribute.present?

python - 将 ruby​​ 变量导出到父进程

ruby-on-rails - 如何存储答案的 ID

ruby-on-rails - 如何在 Rails 迁移中将数据从一个表移动到另一个表?

ruby-on-rails - 为什么/何时检查 Object.persisted?与 Object.save

ruby-on-rails - Rspec 测试需要 sleep 才能工作