2011-01-19 24 views
0

我正在研究一個iPhone應用程序,它將與Heroku上託管的應用程序進行通信。我想知道我應該如何調整服務器的大小(多少個工具,工作人員和數據庫的類型)來自手機的Heroku請求

從我理解的工作人員可以執行我一次單個操作(例如:執行數據庫選擇) ,一個測功機可以處理10到100個同時請求。

如果手機連接較低,請求可能需要很長時間,這將如何影響我的服務器?

我想請求越長併發請求會有,所以它需要更多的動態? 但它不應該影響所需的工人人數,對不對?

除了5Mo限制之外,標準數據庫對10到100個同時請求來說太慢了嗎? (每個不到5Mo數據庫執行很簡單 選擇?)

感謝, 文森特

回答

1

重要的是要記住,一個賽道是單線程的,所以如果你的響應時間(在這裏使用了New Relic)是非常重要的就是說200毫秒(理論上)你可以用一個測功機每秒處理5個請求。越來越多的dynos不會提高性能,它會增加吞吐量 - 爲了使我們最近需要在廣告宣傳後迅速擴展應用程序並最終運行在45個dynos(可能是矯枉過正),並且每分鐘處理大約5600個請求,所以大約100請求第二個。另外請記住,如果一個測功機保持使用狀態(長時間運行請求,上傳等),那麼如果你沒有額外的驅動程序進行處理,那麼請求將被排隊,並且該隊列最終將在30秒後超時。

我們正在使用20Gb數據庫,並且在數據庫響應時間內看到了令人印象深刻的數字,當然該網站也使用Memcached圖層來保持活躍。

希望有幫助,

約翰。

+0

感謝您的非常有用的信息。如果我明白你說的話,如果很多人從他們的移動導航器訪問你的應用程序和低連接,那麼他們將阻止所有其他用戶? – vdaubry 2011-01-19 10:19:57