无法使用 Google Cloud Functions 实现 1000 个并发函数请求



我正在尝试使用Google Cloud Functions运行RNA-Seq应用程序。要运行此应用程序,我需要能够同时运行 800 多个函数。这是使用 AWS Lambda 实现的,但我无法在 Google Cloud Functions 上做到这一点。

当我尝试使用默认 HTTP 触发器运行数百个基本 HTTP 请求时,我开始收到大量 500 个错误:

<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>500 Server Error</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>The server encountered an error and could not complete your request.<p>Please try again in 30 seconds.</h2>
<h2></h2>
</body></html>

如果我检查函数的日志,则看不到任何错误消息!云控制台使一切看起来都很完美,即使我的请求失败了。

我应该如何诊断这个问题?看起来谷歌这边有问题,因为我的代码在请求通过时工作正常。Google 是否限制您可以发出的 HTTP 请求数量?

任何帮助将不胜感激。

HTTP 类型函数的扩展限制与后台函数不同。 请阅读有关可伸缩性的文档,以明确限制。

对于后台函数,它将逐渐扩展到 1000 个当前调用。 由于您正在编写 HTTP 函数,因此这不适用。

对于 HTTP 函数,请注意,速率受函数生成的出站网络带宽量(以及其他内容(的限制。 您必须仔细查看您的函数实际执行的操作,以确定它是否超出了记录的速率限制。

如果可以限制函数在内部执行的操作以满足可伸缩性限制,则可以尝试的一件事是分片函数。 不要创建一个 HTTP 函数,而是创建两个,并在它们之间拆分流量。 规定的限制是每个函数(而不是每个项目(,因此您应该能够以这种方式处理更多负载。

最新更新