Hosting

如何為啟動 Heroku 上託管的網站的流量激增做好準備?

  • June 1, 2012

我正準備推出一個我一直在努力的網站,並且正在與一些部落客交談。它計劃在下週上線,屆時媒體將對此進行報導。

但問題是,這是我第一次發布我自己編寫的程式碼。我以前創辦過一家初創公司,但那時我的角色不是編碼。我自學編寫程式碼來建構它。我知道在大型部落格上被覆蓋的典型流量模式是它們為您帶來大量的人,然後流量在第二天就消失了。

我害怕流量激增,因為這是我第一次,我不知道會發生什麼。我不想成為那些被覆蓋並出現故障的網站之一。到目前為止,我一直在用少數人對其進行測試,並且沒有引起任何問題。ID

規格如下:

A. 使用 Heroku 免費託管 (1 dyno)

B. 該服務是一個 Web 應用程序,使用 Ruby on Rails 建構。

C. UI 包括:

  1. 首頁:您關注人員和標籤的提要。沒有做太多的查詢優化。
  2. 內容頁面:完全利用外部 API 來提供內容。除了小型元數據外,我的伺服器不提供任何內容。

有人可以就這樣的事情提供建議嗎?我應該執行多少個測功機?我如何知道何時需要擴展?我應該期待什麼,我該如何準備?謝謝!

這裡最重要的是查看您的日誌 ( heroku logs -t) 並在您的應用程序中安裝 New Relic,因為 Heroku 沒有提供自動縮放。

在您的日誌中,以下行將是最重要的

2012-06-01T07:48:40+00:00 heroku[router]: GET yourdomain.com/ dyno=web.1 queue=0 wait=0ms service=162ms status=200 bytes=23441

特別是隊列屬性的值。如果這個數字開始增加,則意味著您目前的 dyno 級別無法跟上請求的數量,因此它們正在排隊,這個數字可能會下降,但如果它處於持續水平,那麼是時候開始增加 dyno 的數量了。在將積壓恢復到比以前更高的值但低於清除積壓所需的量之前,您可能需要增加至更高的量以清除積壓。

由於您的發布可能會隨著時間的推移而不是電視廣告更加錯開,您可能需要將您的 dynos 設置得較高以便能夠應對而不是在發布後主動監控它。New Relic 將在 dynos 選項卡上向您顯示與隊列值相同的“備份日誌”,因此如果您將站點單獨放置一段時間以查看其執行情況,則需要查看此日誌。您還可以使用 Progstr ( https://addons.heroku.com/progstr ) 外掛,它將為您監視您的日誌並通知您重要的事情(如積壓日誌、超時等)

在這裡不要太害怕——我在 Heroku 上託管了一些網站,這些網站在黃金時段電視廣告之後一直被大量使用,有時執行接近 50 dynos,最終只收到幾美元的賬單,因為它是不能長時間持續。

希望有幫助。

引用自:https://serverfault.com/questions/394602