我正在尝试诊断 Rails 4 中的性能问题,但无法弄清楚发生了什么。这是我在服务器上看到的时间:
在 2816 毫秒内完成 200 OK(查看:644.1 毫秒 | ActiveRecord:162.0 毫秒 | Solr:0.0 毫秒)
我(大部分)对我的 Views 时间和 ActiveRecord 时间感到满意,但不明白为什么 Completed 时间(2816 毫秒)如此之大。
那个时间代表什么?有什么办法可以减少这个时间吗?
我正在尝试诊断 Rails 4 中的性能问题,但无法弄清楚发生了什么。这是我在服务器上看到的时间:
在 2816 毫秒内完成 200 OK(查看:644.1 毫秒 | ActiveRecord:162.0 毫秒 | Solr:0.0 毫秒)
我(大部分)对我的 Views 时间和 ActiveRecord 时间感到满意,但不明白为什么 Completed 时间(2816 毫秒)如此之大。
那个时间代表什么?有什么办法可以减少这个时间吗?
您所展示的是超过 2/3 的请求处理时间不包含在模型/视图中。还剩下什么?在您的控制器中运行并请求处理生命周期的其他代码。
对此进行分析的最佳方法是安装 newrelic RPM gem 并运行本地分析器:
将 gem 添加到您的 Gemfile 中:
gem 'newrelic_rpm'
在 config/newrelic.yml 的开发中启用本地分析:
development:
<<: *default_settings
monitor_mode: false
developer_mode: true
执行您的请求 2-3 次以预热您的 Rails 应用程序,然后访问本地 newrelic 应用程序以查看跟踪并追踪正在发生的事情:
http://localhost:3000/newrelic