【发布时间】:2019-08-20 02:38:41
【问题描述】:
Cloud Run 的响应时间似乎超过了 400 毫秒。即使是重复调用(我假设是“热身”容器)。
我部署了一个简单的 node.js 服务(参见下面的代码),它以静态 JSON 响应。
服务端点不需要用户认证。我打电话给 us-central1(来自美国加利福尼亚州文图拉县)
我调用该服务并获得超过 400 毫秒的延迟。有时我会看到 5000-6000 毫秒的延迟。范围!
我了解 Cloud Run 处于测试阶段,但我希望 Google 能就我对性能和大约性能的预期提供反馈。什么时候。另外,如果我配置错误,请告诉我。如果你有比我更好的结果 - 请让我知道你在做什么不同。
我部署的服务:https://github.com/dorongrinstein/cloudrun-dummy-service
测试代码:https://github.com/dorongrinstein/cloudrun-test
我希望输出为两位数毫秒。范围。 我得到的输出在 3 位数的中间范围内。
仅供参考 - 我在加利福尼亚州文图拉县。我的互联网连接很好。我使用了 gcpping.com,我到 us-central1 的中位延迟为 70 毫秒。
【问题讨论】:
-
您是否考虑过 Cloud Run 等无服务器环境中冷启动成本的现实情况?在新的服务器实例中首次访问函数会产生在调用之前实例化该服务器实例的成本。
-
你如何计算延迟?您在云运行日志中看到了什么?您是否正在与其他组件交互?
-
从我提供的代码示例中可以看出,我不与任何其他组件交互。我计算延迟,如我的第二个示例所示(请参阅 github cloudrun-test repo)。
-
见下文。我提交了 50 个请求,然后暂停 5 秒(容器应该仍然处于启动状态),然后他们又提交了 50 个请求。请求仍然需要大约 500 毫秒。或者更多。这似乎不是冷/热启动问题。
标签: google-cloud-run