-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linux环境下http_client超时设置不生效的问题 #1696
Comments
能不能看一下这个访问的域名是什么?有一种可能是DNS超时了,而我们内部没有把这个错误转换成DNS错误。我好像也遇到过这个问题。 @kedixa 关注一下DNS访问超时时候错误码的问题。我们目前应该是有一些情况没有正确修改为DNS error的。 |
@Archernarkiu 另外,你后面3个timeout,keep_alive_timeout,wait_timeout和watch_timeout都没有必要设置。
|
从你截图的描述上看,感觉是dns超时了。目前我们 dns cache 默认的ttl是一个小时。你可以修改一下,是global settings里的dns_ttl_default这一项。访问dns是的超时控制,在global settings里的dns_server_params 。 你是什么域名,DNS请求了10秒没返回? 我这边通过一个不存在的DNS server,复现出DNS超时但返回system error了。@kedixa |
综合看下来,应该是由于某个域名DNS cache过期之后,后端需要访问DNS。DNS的超时是10秒,这个域名大概5秒之后成功获得了IP信息。但IP连接不上,每次两秒超时。貌似你打开了两次重试,于是整体11秒后返回超时失败。 解决方法可以增加DNS cache有效期,减少DNS更新的频率。也可以减少http请求重试次数,避免产生多次连接超时。 |
|
你直接把dns_ttl_default加的到一天(配置为86400)吧。反正你是有重试的,如果连接失败,会根据dns_ttl_min这个参数更新DNS。 |
@Barenboim 非常感谢大佬提供的解答。 我对workflow的http网络任务理解如下,不知道是否正确。
|
是啊,DNS server的超时在global settings里的dns_server_params。不过不建议改小DNS超时时间。另外,我感觉你好像设置了retry次数啊。如果设置了retry,那么请求就可能等待多次timeout时间。 |
访问 https://api.bing.microsoft.com/v7.0/search?q=xxx 的时候,我这边设置的 retry_max = 0, 没有重试过 |
全局还有一个ssl_connect_timeout你可以改一下,ssl的握手时间。这个默认也是10秒。 |
在使用workflow的时候,关于http客户端超时,遇到了一个客户端超时设置不生效的问题,请问一下有什么排查思路
现场如下:
The text was updated successfully, but these errors were encountered: