gpt4 book ai didi

node.js - Node 服务器上的间歇性 EAI_AGAIN 错误

转载 作者:搜寻专家 更新时间:2023-11-01 00:47:47 26 4
gpt4 key购买 nike

我的 nodejs 应用程序连接到外部 url 并使用响应。该应用程序大部分时间都运行良好,但我偶尔会收到 EAI_AGAIN。

error:{code:EAI_AGAIN, errno:EAI_AGAIN,syscall:getaddrinfo,hostname:**.com,host:***.com,port:443}

我回答了一些与 EAI_AGAIN 相关的问题。没有解决我的目的。看到DNS名称解析失败时出现此错误。

我担心的是

1) 当我检查日志时。在失败的请求之前有很多成功的请求,在失败的请求之后也有很多成功的请求。为什么只有一个请求就失败了?

2) 实际原因可能是什么?我想知道所有的可能性。

3) 原因可能是我们正在连接的外部服务的问题吗?

4) 如果有人可以帮助重现问题,那就太好了。

注意:我们使用的是 docker 容器。如果这有什么关系。

最佳答案

背景

在幕后,错误来自 getaddrinfo 系统调用。这会触发操作系统在 99% 的时间内执行 DNS 查询。看着the man page对于 getaddrinfo,我们看到以下有关 EAI_AGAIN 错误的信息:

   EAI_AGAIN
The name server returned a temporary failure indication. Try
again later.

这基本上告诉我们,当我们看到这个错误时,DNS 服务器(名称服务器)给了我们一个错误的响应。它可能会以某种方式负担,并且要么主动响应错误,要么根本不响应。

问题

  1. 错误取决于 DNS 服务器的状态,从您的角度来看这可能是不确定的,但可能与请求率相关。当您有另一个程序(参见 #4)关闭 DNS 服务器时,您可以查看错误是否更频繁地出现。
  2. 参见 #1
  3. 是的,参见#1
  4. 负载测试您的 DNS server按照以下步骤运行您的程序,看看它是否更频繁地发生。

关于node.js - Node 服务器上的间歇性 EAI_AGAIN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57007812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com