2010-07-18 60 views
2

我有一個相當大的應用程序,從裏面的熱門擴展運行。現在的問題是,即使在本地,所有請求都非常緩慢。在開始執行之前,我在瀏覽器狀態欄中收到了「正在等待本地主機」或「等待服務器」等消息,持續3-4秒,可以看到日誌文件中執行時間相當不錯。所以請建議我,我可以從哪裏開始着手改進這種情況?在rails中,等待服務器的消息緩慢的請求處理

+0

嗨,我看到很久以前發生了這種情況,但是您是否解決了這個問題?如果是這樣,你還記得嗎?我認爲,我面臨同樣的問題,我正在變得完全瘋狂http://stackoverflow.com/questions/26894622/big-delay-while-processing-http-request-from-nginx-to-unicorn-angularjs對鐵路 – Rober 2014-11-14 13:03:13

+0

對不起羅伯。我不記得了。 – Vijendra 2014-11-15 15:08:14

回答

0

這種問題的一個可能的根源是在最終解決之前,初始DNS名稱解析失敗。您可以檢查,如果這是使用tcpdump的情況下(如果你的平臺的提供)或wireshark。尋找taffic並從客戶端主機上的端口53,看看名字響應及時發生。

如果事實證明,這是問題,那麼你需要確保客戶端被配置爲它所搜索的第一個解析器知道你的服務器地址(我猜這些是本地LAN地址失敗)。不同的平臺有不同的配置方式。快速入門將是把你的服務器的地址放在客戶端的主機文件中,看看是否能解決它。

+0

感謝您的建議。但我在本地主機也面臨這個問題。 – Vijendra 2010-07-20 11:48:54

-1

一旦你發送了你的請求,你會看到'等待主機',直到Ruby工作完成,並且它開始發送響應。所以,如果有幾乎任何處理工作讓你放慢速度,你會看到這個錯誤。你想要做的是開始看看你看到的行爲的功能,並將其分解成片斷,看看哪些peices是慢的。如果一切都很慢,那麼你需要查看每個函數所共有的東西,比如函數,應用程序控制器代碼或類似的東西。我做什麼,當我只是玩耍時,看看我需要解決什麼問題時,只需在不同階段將「放入」語句放在我的代碼中,打印當前時間,然後我就可以看到哪個階段需要很長時間,你懂?

+0

謝謝你的建議。我會檢查我之前的所有過濾器。 – Vijendra 2010-07-20 11:49:25

相關問題