Re: [問題] HEROKU 如何確定APPLICATION ERROR的原因

看板Ruby作者 (肉狗七十七)時間13年前 (2011/11/04 02:01), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《BM0108 (衝)》之銘言: : 環境: : Ruby 1.8.7 Rails 3.1.0 : 狀況: : 我用RAILS寫了一個轉ptt網宣的web app,並架在HEROKU上(連結請見簽名檔) : 這支app執行每個request的時間要視轉錄目標的數量而定 : 正常情況下,20秒內都能解決 : (登入ptt約3秒,平均轉每個版也約3秒,一次最多只能轉3個版,3*4=12,20秒算高估) : 可是,不時有user和我反應說轉到一半會看到heroku顯示application error的頁面 : 我自己查logs,似乎都說是timeout(我覺得免費版的log根本沒提供啥資訊@@) : HEROKU每個request的處理上限是30秒,換言之,正常情況下我的code應該不會timeout : 我朋友和我說應該是concurrency的問題,因為我沒有付錢買dynos, : 所以一次只能有一個user;同時有太多user,就會變成這樣 : 不過,雖然正常情況下不會timeout,而且我的code也有做防timeout的機制, : 但我也不敢確定沒有其他我自己也不知道的問題導致code本身就timeout了 : 我現在想要問的是: : 到底要如何確定是不是dyno不夠導致的問題? : 有請前輩指教了,感謝! http://devcenter.heroku.com/articles/request-timeout Heroku 有提到他們所謂理想的反應時間應該是在多少 所以我相信他們希望客人寫的程式是有效率的 而且他們計較的也不是連線時間而已 還包含了網路相關API的發送、產生圖片文件 及 大量的運算跟大負載 時間一超過就是錯誤 我想,你還是在台灣這裡弄個機器 或弄點什麼的 讓你的網站去處理使用者的需要,準備好後,透過程式下達指令給這些機器或程式去分攤 告知使用者需要一點時間,待將事情做好後,另外告知(也就是將結果送回網站) -- 88888b.d88b. 8888b. .d8888b 888 .d88b. 888 888 .d88b. 888 "888 "88b "88b d88P" 888 d88""88b 888 888 d8P Y8b 888 888 888 .d888888 888 888 888 888 Y88 88P 88888888 888 888 888 888 888 Y88b. 888 Y88..88P Y8bd8P Y8b. 888 888 888 "Y888888 "Y8888P 888 "Y88P" Y88P "Y8888 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.124.62

11/04 15:09, , 1F
嗯嗯 之前都沒想到要這樣做@@ 萬分感謝您的建議!
11/04 15:09, 1F
文章代碼(AID): #1EijRxRe (Ruby)
文章代碼(AID): #1EijRxRe (Ruby)