无服务器框架 Facebook Bot 慢(AWS Lambda)

Serverless Framework Facebook Bot Slow (AWS Lambda)

我正在开发一个 facebook 聊天机器人,我正在使用无服务器框架 (Node.js) 开发它并将它部署到 aws lambda。在最初的几周里,我只是 运行 使用无服务器离线插件的本地无服务器 lambda 模拟器,一切都运行良好。昨天,我终于决定将它部署到 AWS lambda,现在我看到性能和一致性有显着下降。有时机器人需要 10 秒来响应,有时它是瞬时的。奇怪的是,在 lambda 云日志上,它总是说函数在大约 150 毫秒内完成,这看起来非常快,但 facebook 机器人根本没有反映这个速度。我正在访问数据库,但查询绝对不会花费将近 10 秒的时间到 运行。

更新:

我决定尝试使用邮递员(基本上是 curl)手动向 API 端点发送请求来测试机器人。每次 api 都会立即响应,即使我发送的请求正文与 Messenger 发送的完全相同。所以看起来请求只需要很长时间才能到达 lambda api,但是当它到达那里时它应该是 运行s。关于如何解决此问题的任何想法?

如果 API 快速响应您的 curl 请求,则问题不在 AWS 端。当您通过 Facebook 向您的应用程序发送请求以及您的应用程序收到请求时,尝试匹配。

如果它在 Facebook 端被搁置,恐怕您无能为力。

另一个问题可能是您的 lambda 运行 与 facebook 所在的数据中心。例如,使用 chkutil.com,您可以看到 facebook.com 在亚太数据中心似乎特别慢。

事实证明,Facebook 遇到了 DNS 问题,并且已经解决了这个问题。