【发布时间】:2017-10-16 13:34:37
【问题描述】:
在对我们的 AWS Lambda 节点函数进行负载测试时,我们在 Cloudwatch 日志中收到以下错误消息:
2017-10-16T03:13:15.606Z e95f33aa-b21f-11e7-8f1a-89b123118211 Error: ECONNREFUSED, Connection refused at Error (native)
这是唯一输出的行,并且仅在负载测试期间发生。对于 10,000 个请求,其中有 200 个此类错误发生在负载测试开始时。
由于重试,最终一切都会成功,但很高兴知道是什么原因造成的。我们有一个包装所有代码的 try-catch 块,但它没有捕捉到这个错误。
导致此错误的原因以及如何避免或捕获它?
【问题讨论】:
-
显示您的代码会很有帮助。
-
好像是数据库连接错误。
-
没有数据库 - 只有 S3 读写和发布到 SNS 主题。
-
显示您的处理程序代码,以便我们知道可能的原因。
-
这里是日志的摘录:pastebin.com/FU2BJgK5 我们已经检测了 lambda 脚本(使用 webpack 作为单个文件部署)来调试函数初始化时的 require 步骤。你看到它启动了两次,这似乎是运行时捕获了错误并触发了重新启动。讨厌。
标签: node.js amazon-web-services aws-lambda serverless-framework