Dropwizard服务器先进行ACK,然后进行FIN,ACK,从而导致502

时间:2019-02-03 00:06:12

标签: tcp dropwizard amazon-elb aws-application-load-balancer

我的应用程序的后端最近返回的错误率提高了502。

对于上下文,服务器位于Amazon Elastic Load Balancer后面,并且正在运行Dropwizard(供参考,这里是Dropwizard config docs)。

我捕获了针对502ed请求的数据包捕获,并看到以下模式:

  1. ELB->服务器[PSH,ACK]
  2. 服务器-> ELB [ACK]
  3. (30毫秒暂停)
  4. 服务器-> ELB [FIN,ACK]
  5. ELB->服务器[FIN,ACK]
  6. 服务器-> ELB [ACK]

我只能从此tcp流中推断出的是,接受方线程接收了请求(因此2中为ACK),并且无法对其进行任何处理(因此,FIN为3中的ACK)。我们尝试弄乱acceptorThreadsidleTimeout甚至acceptQueueSize(后者基于great blog post describing a similar issue),但都无济于事。我们的活动请求指标表明我们还没有接近饱和池,因此应该有一个线程可以处理该请求。还有其他想法吗?

0 个答案:

没有答案