什么原因导致ECONNREFUSED,连接在AWS节点Lambda错误(本机)时被拒绝?

问题描述:

在负载测试我们的AWS LAMBDA节点功能,我们已经在CloudWatch的日志有以下错误信息:什么原因导致ECONNREFUSED,连接在AWS节点Lambda错误(本机)时被拒绝?

2017-10-16T03:13:15.606Z e95f33aa-b21f-11e7-8f1a-89b123118211 Error: ECONNREFUSED, Connection refused at Error (native) 

这是一种输出唯一的线,它负载测试时才会发生。有10,000个请求,有200个这些错误,它们发生在负载测试开始时。

最后一切都成功了,因为重试,但它很高兴知道是什么原因造成的。我们有一个try-catch块封装了我们所有的代码,但它没有捕获这个错误。

什么原因导致了这个错误?怎样才能避免或者被捕获?

+1

显示你的代码会有帮助。 – dashmug

+0

看起来像数据库连接错误。 – dashmug

+0

没有数据库 - 只有S3读取和写入并发布到SNS主题。 – Martimatix

aws SDK lib使用https连接到各种服务,如s3,sqs等。由于您正在运行性能测试,因此它可能会在多个(配置的)子网中调用新的lambda容器。我猜你在通过HTTP/HTTPS协议发送连接到外部世界的同时获得了ECONNREFUSED。我的建议是检查您用于lambdas的子网的流日志。搜索443端口的“拒绝确定”,并验证错误是否源自在特定子网中运行的lambda。