确实应该有一个选项来限制特定数量的实例,无论如何。 在应用程序设置菜单中,您所能做的就是限制IDLE实例的最大数量,我不确定它是否按预期工作。我的意思是我将 Max Idle Instances 设置为1,将 Min Pending Latency 设置为15秒,但我仍然看到偶尔会运行2个实例,很长一段时间没有请求。他们不应该在闲置15分钟后关闭吗?为什么它甚至会用这些设置触发一个秒实例,考虑到没有请求延迟15秒?
我运行一个简单的“什么是我的IP”python应用程序,它真的不需要高性能。我的意思是,如果响应在100毫秒或5秒之后真的没有区别,重要的是只有一个实例正在运行,所以那些每天28个实例小时不会耗尽。
答案 0 :(得分:18)
我的应用程序目前只有少量流量,因此支付一小笔钱对我来说是个问题。在学习并尝试了如何优化实例类的许多选项之后。我发现以下设置在运行应用程序时为我提供了最低的 billing rates ,并在Google Appengine上启用了结算状态。
我使用F1 Class设置前端实例 这是我在yaml版本中的代码。
instance_class: F1
automatic_scaling:
max_idle_instances: 1 # default value
min_pending_latency: automatic # default value
max_pending_latency: 30ms
我使用B1类来设置Backend实例 这是我在yaml版本中的代码。
instance_class: B1
basic_scaling:
max_instances: 1
idle_timeout: 10m
以下是放入appeengine.web.xml的代码(如果使用maven编译java)
<threadsafe>true</threadsafe>
<instance-class>B1</instance-class>
<basic-scaling>
<max-instances>1</max-instances>
<idle-timeout>10m</idle-timeout>
</basic-scaling>
通常我运行4个模块,F1类中有2个模块,B1类中有2个模块。他们每天花费我0美元。然而,当我的网站忙于对抗流量时,我将课程提升到F2和B2,每日总费用低于0.50美元。
以下是减少可计费实例的一些提示:
答案 1 :(得分:0)
我将yaml automatic_scale块更改为此,现在我始终最多只能运行一个实例。使用此配置,您将永远不会超过免费配额。
automatic_scaling:
min_idle_instances: automatic
max_idle_instances: 1
min_pending_latency: automatic
max_pending_latency: 0.030s
max_instances: 1