看板 Ruby 關於我們 聯絡資訊
※ 引述《BM0108 (衝)》之銘言: : → BM0108:請問板主,要如何判別是code的timeout還是dyno的問題?thx! 11/03 13 : → BM0108:另外,板主為何會覺得一定是 timeout?我還滿好奇的:p 11/03 17 呃,首先我不知道你所謂的 dyno 的問題是指什麼? 在我看來這裡只有一個問題,就是 timeout 的問題, 增加 dyno 可以降低這個問題的「程度」,但不是良好解, 因為一個 request 要 20 秒,且只靠不同 process 來達到 concurrent, 假設你要 60 requests/minute, 則你需要至少 20+ dynos (processes), 這絕對不是一個好辦法... 除非你錢夠多,而且使用量很小。 -- In Lisp, you don't just write your program down toward the language, you also build the language up toward your program. 《Programming Bottom-Up》- Paul Graham 1993 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.239.235
BM0108:簡單的說,我假如增加dyno,能降低這個情形,但無法徹底解? 11/03 21:23
ducksteven:你應該要先修改你的架構,不是砸錢.. 11/03 21:48
BM0108:嗯嗯 我當然也是這麼想 可是以轉錄ptt文章來說,一次下來 11/03 22:28
BM0108:10幾秒應該是勢所難免,不是我演算法寫多好就能有效改善的 11/03 22:29
BM0108:不管怎樣,我的code下request給ptt,往來就是要時間,尤其 11/03 22:29
BM0108:heroku架在aws上,server在美國,下request回台灣ptt更久@@ 11/03 22:30
BM0108:我發這篇問題,主要就是想請教前輩,有沒有方法可以明確判 11/03 22:31
BM0108:斷究竟是code本身就timeout了(只有一個人也會timeout) 11/03 22:32
BM0108:還是同時太多人才timeou。前者毫無疑問要改code,後者則有 11/03 22:33
BM0108:得傷腦筋。 重點是,以heroku提供的log,我不太能確定@@ 11/03 22:34
godfat:推文太長了,看一下板規.. 11/03 22:55
BM0108:嗯 我推到一半就有在想這個問題,但我一開始也不知道我會 11/03 23:03
BM0108:推那麼長@@ 所以現在該怎辦@@ 又,我的問題有解答嗎@@ 11/03 23:04
ducksteven:改架構有時候不是改演算法 11/04 00:09
ducksteven:例如你可以把知道會花很多時間的操作丟給背景做或拆開 11/04 00:10
BM0108:受教了,感謝! 11/04 00:18
logooo77:看起來是連線問題跟 dyno 數量多寡無關 11/04 01:32
logooo77:你應該要在台灣這裡弄台機器或空間做中介站 11/04 01:34
logooo77:用來處理一些雜事 11/04 01:37
logooo77:dyno 是用來平衡負載量,就像是餐廳的服務生 11/04 01:41
logooo77:人員越多,就越能即時招呼客人 11/04 01:42
logooo77:或做更多的事情 11/04 01:42
logooo77:heroku 這三十秒是故意的,因為他們不希望程式很沒有效率 11/04 01:47