2016-08-01 79 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标准环境仅允许长生命的后台线程在手动缩放的后端实例上。“ –