2015-09-05 23 views
1

我今天推出了一個應用程序。大約10個小時後,一旦有足夠的人註冊並使用該應用程序,應用程序就會停止。如何解決Heroku上的內存配額超過和請求超時錯誤? Rails Web API

我得到3種錯誤:

H12:請求超時 R14:內存超出配額 H13:連接關閉無響應

我在最後4小時有361個內存錯誤,以及最近90分鐘內的674次請求超時。

我真的很不確定如何解決服務器端問題。我的Rails JSON Web API現在在Heroku上。

解決這些問題的最佳方法是什麼?

+0

你正在使用什麼樣的測功機?隨着免費的你可以很容易地遇到這類問題。對於數據庫,你可以檢查[索引用法](http://www.postgresql.org/docs/9.3/static/indexes-examine.html) –

+0

@Dmitry我有兩個Standard-1x Dynos運行。我也有Standard-0 postgres數據庫設置,所以1GB RAM,64GB存儲,120個連接。 –

回答

0

您有幾種選擇:

  1. 由於您的應用程序運行內存,一個策略是少跑過程每賽道。在您的網絡服務器配置(Procfile)中,您如何運行您的應用程序?單線程?多?如果有多個,請嘗試降低該數字。這將使用更少的內存,並且會使您的過程更加穩定。

  2. 要處理'沒有響應的連接關閉'錯誤,您可能需要添加更多的dynos來處理您的流量增加。發生什麼情況是您的請求要麼花費很長時間才能完成(> 30秒),要麼由於其他問題(內存/ CPU等)而導致您的應用程序未完成請求處理。

我的直覺告訴我,每DYNO降低你的進程併發,你可能會得到你需要解決所有這些問題,在一次的性能優勢。