2012-08-08 46 views
5

我有一個應用程序引擎(付費)的應用程序,平均每天約200次訪問(1000頁面瀏覽量,偶爾它激起多達1000次訪問和10000頁面瀏覽量或更多)和我現在每5分鐘通過cron作業喚醒它以確保合理的性能。這並不總是適用於應用程序引擎延遲峯值期間(幸運的是,這種情況最近並不經常發生),而且當發生這種情況時,我的ajax稱爲超時失敗。另外,cron-job戰略並不理想,因爲它消耗了配額。AppEngine性能優化與空閒實例和待定延遲設置

此刻,我有空閒實例和等待延遲設置全部在「自動」上。

有沒有人有手動調整這些設置的經驗,什麼是一些典型的值,可以保證在我的應用程序更好的性能給予流量?

回答

2

代替cron作業,只需將空閒實例設置爲1.空閒實例是處於「預留」狀態的實例,可以讓您立即響應增加的負載。所以如果你有一個需要三個實例的負載,並且你將Idle Instance設置爲1,那麼你將會有4個實例在運行。

不利的一面是,你將永遠支付比目前使用的多一個實例。但是,請記住,您每天獲得28個免費實例小時,免費提供一個空閒實例(除了您有一個實例實際提供請求的時間外,另外一個空閒實例將是額外成本)。另外,如果您設置了空閒實例,則等待延遲幾乎沒有或沒有影響,因爲需要啓動新實例時需要等待延遲,但您始終有一個預留實例。警告:如果應用程序代碼變得無用或寫得不好(例如在請求處理程序中調用外部服務),這會導致響應時間異常長。底線:將空閒實例設置爲1,然後將待處理延遲設置爲應用仍可接受的某個最大值。

+0

感謝您的支持 - 您的建議是根據我的應用上的流量來設置空閒實例爲1?我想知道更高的流量是否會證明增加這個數量和多少。在我看來,負載下的應用表現相當好,這個問題主要與我的應用引擎體驗中的實際「閒置」有關。 – JohnIdol 2012-08-08 18:42:51

+0

是的,我建議空閒= 1(最大和最小),這是基於您的應用大部分處於非活動狀態。通常情況下,正如您現在所見,GAE會停止所有實例,導致在閒置一段時間後第一次請求的加載時間較長。 – 2012-08-08 21:31:08

+0

酷 - 我會禁用我的cron作業,並給予一槍!感謝提示:) – JohnIdol 2012-08-09 00:07:47