B1 类型的 GC(Google Cloud)App Engine 部署即使有至少 1 个实例,也会进入空闲状态。空闲状态是指当应用程序没有接收到任何请求时,App Engine 会自动关闭实例,以节省资源和降低成本。
以下是一个解决方法的代码示例,可以在应用程序的 app.yaml
文件中使用 automatic_scaling
配置来控制空闲状态的行为:
runtime: python38
service: my-app
instance_class: B1
automatic_scaling:
target_cpu_utilization: 0.65
min_instances: 1
max_instances: 5
min_idle_instances: 1
max_idle_instances: 2
上面的示例中,min_idle_instances
设置为 1,表示即使没有请求,至少会保持一个实例处于空闲状态。而 max_idle_instances
设置为 2,表示最多可以有两个实例处于空闲状态。这样可以在发生请求时更快地响应,并减少实例的启动延迟。
通过配置 target_cpu_utilization
来控制实例的数量。当 CPU 利用率达到 65% 时,App Engine 会自动增加实例的数量以处理更多的请求。当 CPU 利用率低于 65% 时,App Engine 会自动减少实例的数量以节省资源。
注意:以上示例是基于 Python 3.8 运行时环境的示例,如果使用其他编程语言或其他版本的 App Engine,可能会有所不同。请根据自己的实际情况进行调整。