2016-08-01 55 views
0

我在Google App Engine上運行Java服務器。看起來,GAE帳戶正在使用GAE後端實例附帶的9個免費實例小時,但到目前爲止,我一直在開發時在本地主機上運行服務器(只有少數實時部署僅用於測試部署處理)。爲什麼要耗用實例小時?未使用的Google App Engine實例超出配額

回答

1

您的項目中有什麼樣的縮放比例?基本,手動還是自動?

編輯: 正如你既然表示您使用手動縮放:

手動縮放:選擇手動縮放連續運行服務, 讓您執行復雜的初始化和依賴在內存的狀態 隨着時間的推移。

這意味着您的在線部署少數可能有至少一個手動縮放模式,這會導致你的問題

+0

我已將Firebase與GAE集成,因此已啓用手動縮放,如本教程中所述:https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio#configuring_the_app_engine_backend_to_use_manual_scaling – user2181948

0

即使這是一個很老的問題,你可能想通了這一點已經,這裏是最簡單的解決方案:用basic-scaling一個替換manual-scaling部分。

appengine-web.xml會像下面

<?xml version="1.0" encoding="utf-8"?> 
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>myApplicationId</application> 
    <version>1</version> 
    <threadsafe>true</threadsafe> 
    <basic-scaling> 
    <max-instances>1</max-instances> 
    <idle-timeout>10m</idle-timeout> 
    </basic-scaling> 
    <system-properties> 
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" /> 
    </system-properties> 
</appengine-web-app> 

這意味着,通過basic-scaling,您的應用程序將具有最大1上運行實例,10後會被鈍化(這樣你就不會爲它付出)的一個分鐘

+0

While這可能適用於開發過程中的快速測試不適合更長的測試或生產。從正在遵循的教程(在註釋中提到)中:「要將Firebase與App Engine標準環境一起使用,您必須使用手動縮放。這是因爲Firebase使用後臺線程來監聽更改,App Engine標準環境僅允許長生命的後臺線程在手動縮放的後端實例上。「 –