ruby-on-rails-4 - 为什么 Application#call 会很慢?

标签 ruby-on-rails-4 rack

出于某种原因,我的 ::Application#call非常慢。在一种情况下,它花了 3,840ms根据 New Relic 的仪器。

文档只是将此方法描述为:Implements call according to the Rack API. It simply dispatches the request to the underlying middleware stack.
连到ActionDispatch::Routing::RouteSet#call都需要5秒多的时间,更不用说我的 Controller 的方法了。

为什么这会这么慢?我可以在哪里尝试进一步深入研究?

我的中间件看起来都不是特别奇怪,要么:

use Raven::Rack
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007fd836083e08>
use Rack::Runtime
use ActionDispatch::RequestId
use Rails::Rack::Logger
use Rack::Cors
use ActionDispatch::ShowExceptions
use ActionDispatch::DebugExceptions
use ActionDispatch::RemoteIp
use ActionDispatch::Callbacks
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::ParamsParser
use Clearance::RackSession
use Rack::Head
use Rack::ConditionalGet
use Rack::ETag
use ActionDispatch::Flash
use Rack::SslEnforcer
run CookacademyApi::Application.routes

最佳答案

不要过分依赖 NewRelic 指标。我最近遇到了同样的问题,页面 NR 估计加载时间约为 3 秒。关闭几个应用程序并重新启动 firefox NR 后显示不到 300 毫秒

关于ruby-on-rails-4 - 为什么 Application#call 会很慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552776/

相关文章:

ruby - Sinatra 请求 ["SOME_HEADER"] 不适用于 POST;文档错误?

ruby-on-rails - Rack 错误 "Rack::Lint::LintError: Response body must respond to each"

ruby-on-rails - Sinatra 在服务器上安装时出现以下错误

ruby-on-rails - 如何从 Rack 应用程序访问 SSL 客户端证书

ruby-on-rails - Rails 新方法在控制台中有效,在 Controller 和浏览器中失败

ruby-on-rails - Rails 4:为什么生产中无法加载字体?

ruby-on-rails - 与 MRI Ruby 的并发请求

ruby-on-rails - 为 Rails 4.2 启用 SASS 源映射文件

ruby-on-rails-4 - Net::SMTPAuthenticationError,535-5.7.8 用户名和密码不被接受

ruby-on-rails - Rack rSpec Controller Tests with Rack Middleware 问题