You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Cloud Run上触发503 Service Unavailable错误

复现Cloud Run hello-world容器503错误&查看get API状态方法

一、触发503错误的两种可行方案(无需添加健康检查)

  • 方案1:直接调整实例上限(零成本快速复现)
    操作步骤:
    1. 进入对应Cloud Run服务的「修订版」设置页面,将最大实例数调整为0并保存部署
    2. 此时所有访问服务域名的请求会直接返回503 Service Unavailable,无需压测、无需修改容器配置
    3. 测试完成后把最大实例数改回原有数值即可恢复服务
  • 方案2:压测触发过载返回503(模拟真实场景的服务不可用)
    你之前压测没触发是因为Cloud Run默认存在请求排队机制,请求会先进入队列等待实例处理,不会直接返回503,调整对应配置即可:
    1. 服务配置保持最大实例数=1、最小实例数=0、单实例并发数=1不变,额外将「最大排队请求数」调整为1
    2. 不要用Python多进程发请求,换成并发压测工具ab或者wrk,执行压测命令(以ab为例):ab -n 1000 -c 20 你的Cloud Run服务域名/
    3. 20并发请求超过了实例处理能力+队列上限,会直接返回503错误

二、查看get public API状态的方法

你不需要直接调用公开API接口,用gcloud命令行工具即可验证状态,gcloud底层就是调用该get API执行查询:

  1. 执行命令:gcloud run services describe [你的服务名称] --region [服务部署区域]
  2. 命令正常返回服务配置信息则对应get API状态正常(返回状态码200),如果命令返回报错,可通过添加--log-http参数查看具体的API返回状态码
  3. 如果需要直接验证API返回,可执行以下curl命令:
TOKEN=$(gcloud auth print-access-token)
curl -I -H "Authorization: Bearer $TOKEN" https://run.googleapis.com/v1/projects/[你的项目ID]/locations/[服务部署区域]/services/[你的服务名称]

返回头部的状态码就是该get API的响应状态

内容的提问来源于stack exchange,提问作者john mich

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:57:01