为什么 Google Cloud 运行 的最大并发请求数如此之低 (1000) 而应用服务器框架每秒可以支持多个 1000?

Why Google Cloud Run's maximum number of concurrent requests is so low (1000) while the app server frameworks can support multiple 1000s per sec?

来自 google cloud run docs 页面:

Concurrency is configurable. By default each Cloud Run container instance can receive up to 80 requests at the same time; you can increase this to a maximum of 1000.

如果我的应用程序是用 Node.js express/fastify 编写的,它可以轻松支持超过 1000 个。请参阅 benchmark

Fastify: 56457 req/sec (50x Cloud Run's max)
Express: 11883 req/sec (11x Cloud Run's max)

我了解实际结果可能会低于上述结果。但它仍然可以支持超过单个 1000,我希望。

虽然服务器框架支持更高的并发,但为什么 Google Cloud 运行 将其限制为最大单个 1000?

(在 Google Cloud 运行 中运行的 Firebase Functions v2 也是如此。因此在问题中也标记了 firebase)

你弄错了。

  • Take the Cloud 运行 限制:最多可同时处理 1000 个请求
  • 拿你的测试结果:每秒 56457 个请求。

现在,错误。假设您的请求在 20 毫秒内处理完毕,即 1/50 秒。如果每 1/50 秒处理 1000 个并发请求,则每秒可以处理 50000 个请求。

云运行对每秒请求数没有限制,但在同一时间,在同一实例上的并发请求数(1000应该是一个限制,因为Google 负载平衡和流量路由基础设施)