0

我試圖診斷Rails 4中的性能問題,但無法弄清楚發生了什麼。這裏的時間是我看到我的服務器上:瞭解Rails運行時間指標

完成200 OK在2816ms(瀏覽次數:644.1ms | ActiveRecord的:162.0ms | Solr的:0.0ms)

我(主要是)滿意我的Views時間和ActiveRecord時間,但不明白爲什麼Completed時間(2816ms)如此之大。

這段時間代表什麼?有什麼辦法可以減少這個時間嗎?

+0

它可以取決於你的Gems:例如我在開發模式中使用mini-profiler來跟蹤SQL查詢和渲染調用。這個寶石在完成時間內增加了很多毫秒。如果你想測試你的應用程序的性能,請確保使用生產模式(在生產模式下運行之前使用'rake assets:precompile') – MrYoshiji

+0

@MrYoshiji我在分階段(接近生產)環境中獲得這些結果,它用於一個API,所以意見是JSON渲染。如果可以的話,我很樂意使用mini-profiler! :D –

回答

1

您所顯示的是超過2/3的請求處理時間未包含在模型/視圖中。還剩下什麼?其他代碼在您的控制器中運行並請求處理生命週期。

來分析這種情況的最好辦法是安裝NewRelic的RPM寶石和運行本地探查:

寶石添加到您的Gemfile:

gem 'newrelic_rpm' 

啓用配置/ NewRelic的發展當地分析.yml:

development: 
    <<: *default_settings 
    monitor_mode: false 
    developer_mode: true 

執行您的請求2-3次,以溫暖你的Rails應用程序,然後訪問本地應用NewRelic的查看跟蹤和追查發生了什麼:

http://localhost:3000/newrelic 
+0

感謝您的深思熟慮的答案!我使用newrelic,所以我會嘗試本地分析。 –

+0

性能調整是我的激情。如果您在解釋發生的事情時遇到問題,請隨時給我寫信:[email protected] – Winfield