我有一个rails开发模式的3应用程序,它不会加载我运行webrick时所做的任何更改.我三重检查了我的设置,development.rb并确保我在开发模式下运行.
config.cache_classes = false
config.action_controller.perform_caching = false
Run Code Online (Sandbox Code Playgroud)
我还检查了我的tmp目录,以确保缓存文件夹是空的 - 我还没有在网站上进行任何缓存,并且从未打开过缓存.我猜测它的文件加载问题.
我也在运行webrick然后安装了mongrel,问题仍然存在.
我猜我遇到配置问题,不,我没有看到其他人发布这样的问题.我还缺少什么?
编辑:看起来我的视图帮助程序不能自动加载 - 默认情况下不是帮助程序应该可以在rails 3中重新加载?
我有一个 sidekiq 工人排队大约 15 - 20 个不同类型工人的工作。当我转到 New Relic 的事务时,排队的每个工作人员甚至在执行之前需要 4-6 秒。我的 ActiveRecord 池为 25,Sidekiq 以 20 并发运行,有 1 个 Unicorn 进程。
我在 rails 控制台中对这个 worker 进行了基准测试,代码不到 2 秒(它做了一些繁重的处理)。有了这个奇怪的 4-6 秒延迟,New Relic 会在 6 到 8 秒执行时获取该工人的交易。
我使用 NewRelic::Agent::MethodTracer 完成了慢速工作器的执行方法,分组代码块试图更好地了解可能如此慢的原因,但 New Relic 仍然在它之前 4 -6 秒显示工作器到达任何分组块。
perform 方法中所有带有跟踪器的分组代码块每个都在 100 毫秒以下。
我不确定是什么导致每个工作人员暂停 4 到 6 秒——在运行 sidekiq 作业时,内存通常徘徊在 50 - 60% 的使用率(2 个数字海洋水滴在 1 gig),磁盘 I/O,并且 CPU 永远不会超过 60%。
我的应用程序在 Rails 4.1.4、Ruby 2.0、Postgres、Unicorn、Nginx 和 Redis 上运行