我試圖找到在GAE上配置我的應用程序實例的最佳方法。瞭解GAEJ上的內存使用情況和前端實例類
我在GWT/GAEJ上運行Saas。我有一小部分使用應用程序的高級用戶整天都在使用應用程序(而不是每天使用應用程序幾分鐘的大量用戶)。
因此,我試圖找到最好的方式來配置我使用前端實例類,使其最有效率,並提供最佳的用戶體驗。
我啓用了計費功能,發現我需要運行空閒實例以避免實例啓動時出現延遲。我使用JDO,並且啓動每個實例需要很長時間來初始化數據存儲訪問。所以我啓動了一些應用程序實例並讓它們在空閒模式下運行。這給用戶帶來了不錯的體驗,但顯然意味着我爲閒置的實例付費 - 這並不理想。
我會調查我是否可以更有效地做到這一點。
但是,這是背景,我真正的問題如下; 如果我看看我的實例的內存使用情況,他們會經常說136MB等等(它們開始在66MB左右)。所以我想我有一些內存泄漏找到。但具體我想知道:
我也使用Memcache,大概這個記憶在上面的計算考慮到?
我目前使用的是F1實例類,它的內存大小爲128MB。那麼對於我的實例來說,這意味着什麼似乎解決了大約136MB的問題?他們會跑得慢多少,因爲他們會一直換到磁盤上?由於這個原因,我會更好地運行一個F2實例而不是2個F1實例嗎?
我發現非常惱人的是GAE開始新的實例,即使我有2個空閒的實例。儘管我設置了最小延遲非常高(7.5secs)。我在文檔中看過,當我使用空閒實例時,這個設置幾乎沒有影響,但是我怎樣才能確保只使用空閒實例,而不是訴諸於開始新的操作(由於數據存儲區初始化問題,這總會導致更大的延遲上文提到的)? (並通過更多的實例時間增加了我的成本)
我誤解了什麼嗎? 非常感謝您的任何幫助。
彼得,非常感謝。我會玩熱身請求,很可能是我的答案。但是我對我所擁有的實例體驗感到非常沮喪。我想知道是否有人遇到類似的問題。我試過跑F1而不是兩個F1,沒有明顯的改善。然而,現在真正煩人的是無論我開始多少個實例(現在例如我有3個空閒實例),每個請求都會啓動一個新實例。不管我是否實施了熱身請求,這不應該發生? (不是當我有空閒的情況下待命) – doright 2012-03-18 09:53:49