我正在开发一个facebook聊天机器人,我正在使用无服务器框架(Node.js)开发它并将其部署到aws lambda。在最初的几周里,我只使用无服务器离线插件运行了一个本地无服务器lambda模拟器,一切都运行良好。昨天,我终于决定将它部署到AWS lambda,现在我看到性能和一致性显着下降。有时机器人需要10秒钟才能响应,有时它会瞬间完成。奇怪的部分是,在lambda云日志中,它总是说功能在大约150毫秒内完成,这似乎超级快,但facebook机器人根本没有反映这个速度。我正在访问一个数据库,但查询肯定不会花费大约10秒的时间来运行。
更新:
我决定尝试使用postman(基本上是curl)手动向API端点发送请求来测试机器人。每次api立即响应,即使我发送信使所做的完全相同的请求体。因此看起来请求只需要很长时间才能到达lambda api,但是当它到达那里时它会运行它应该运行。关于如何解决这个问题的任何想法?
答案 0 :(得分:2)
如果API快速响应您的curl请求,则问题不在AWS端。当您通过Facebook将请求发送到您的应用程序以及应用程序收到请求时,请尝试进行匹配。
如果它在Facebook上结束了,我担心你无法解决它。
答案 1 :(得分:0)
另一个问题可能是你的lambda运行的数据中心与facebook的比较。例如,使用chkutil.com,您可以看到facebook.com在亚太地区数据中看起来特别慢。
答案 2 :(得分:0)
事实证明,Facebook正在遇到DNS问题,并且已经解决了这个问题。