我正在開發一個Rails應用程序,我對我所看到的感到困惑。我對此很陌生,所以我可能會誤解這些信息。當我運行一個Web進程時,我獲得了很好的結果。但是當我啓動web進程時,我沒有得到我期望的結果。我正在計算我需要在生產中運行多少,以便確定我的成本。運行幾個Web進程的性能
基於新文物我有每個請求40-60 MS的響應時間以每分鐘3000級的請求(或大約每秒50個請求)上與一個Heroku的測功機。事情工作得很好,Web進程甚至沒有被推送。有些反應在Blitz的時間爲1秒,但我期望,因爲我儘可能地通過一個Dyno推動。
現在我嘗試起動Dyno的。先到10到50,然後再與Blitz一起衝過去,得到和上面相同的結果。隨着50個dynos的運行,我用250個併發用戶突擊網站,我得到的響應時間爲2或3秒。 New Relic正在讀取與一個dyno相同的流量,每秒請求次數爲3000次,請求次數爲60次。閃電戰看到3秒的響應時間,並獲得50至60 rps的最大值。
在日誌中,我可以看到該活動的不同的網絡進程之間很好地分開。我只是針對主頁進行測試,而不是訪問任何外部服務或數據庫調用。我沒有使用緩存。
我不明白爲什麼一個Web程序輕鬆處理高達每秒(每閃電戰)60名的請求,但提高到10名甚至50幅法時,我沒有得到任何額外的性能。我做了幾次閃電戰,併發用戶。
任何人有任何想法發生了什麼?
在應用程序中是否存在數據庫或鍵值存儲? –
有一個數據庫沒有被測試頁面訪問。 –