2011-03-11 51 views
15

我有一個網站,我部署到Heroku。這是一個低流量的網站,所以如果沒有人去它幾個小時,然後去它,它將需要大約5-10秒加載。對該網站上其他頁面的任何其他請求都會很快加載。如果我完全退出網站並在幾分鐘後回來,它也會很快恢復。Heroku - Spin Up

只有當它閒置了幾個小時才能看到起轉時間。 有沒有其他人有這個問題?如果是這樣,你是如何解決它的。

此外,雖然在這個話題上,Google App Engine也會發生同樣的事情嗎?我目前只是試用這些應用託管平臺,所以我沒有任何對技術/語言的偏好。

+2

App Engine中也有類似的問題。它們通過新的(1.4.0)「熱身請求」功能和「永遠在線」實例有所緩解。 – Ezra 2011-03-11 20:56:04

+0

這實在是兩個問題。 – 2011-11-09 03:56:00

回答

11

「解決」這個問題的最快方法是確保您的網站始終處於運行狀態。建立一個pingdom帳戶(http://www.pingdom.com/),它會每隔幾分鐘對您的網站進行ping操作,以保持活躍。

我有一個特殊的路線myapp.com/keep_alive除了沒有緩存命中軌道堆棧什麼也沒做。

希望這有助於!

+1

你如何'沒有緩存撞到鐵軌堆棧'? – ryanprayogo 2011-03-11 21:16:52

+0

在heroku緩存使用清漆,所以只要確保你沒有設置任何緩存相關的標題。如果這是一個簡單的方法,只是呈現一個視圖,你會沒事的。 – jonnii 2011-03-11 21:22:06

0

你可以做的最好的事情來減少這個時間是最小化你的slu size的大小。這包括刪除任何PSD或AI圖像資產,刪除PDF和最小化您的寶石套裝等步驟。欲瞭解更多信息,請參閱:http://devcenter.heroku.com/articles/slug-size。作爲參考,我的應用程序通常可以在大約1秒內旋轉起來。

4

你是否正在用'免費計劃'託管它,即。只有1個動態?

如果是這樣,您所遇到的可能是Dyno Idling。您可以增加dynos的數量,以便您的應用程序'始終開啓'

2

從我所瞭解的Heroku中公開此行爲。

對於免費網站託管,一個heroku'Dyno'專門用於您的網站,如果dyno在一段時間內不活動,那麼資源將被重定向到其他地方,當您嘗試訪問該網站後,系統去請求一個Dyno回來。

您可以通過支付額外的dyno來支付您的網站,或者您可以使用自動腳本定期訪問網站。