ACK сервера Dropwizard, затем FIN, ACK, ведущие к 502 - PullRequest
0 голосов
/ 03 февраля 2019

В последнее время бэкэнд моего приложения возвратил повышенную частоту ошибок 502.

Для контекста, сервер находится за Amazon Elastic Load Balancer и запускает Dropwizard (для справки вот документация по настройке Dropwizard ).).

Я перехватил пакет для запроса 502 и увидел следующий шаблон:

  1. ELB -> Сервер [PSH, ACK]
  2. Сервер -> ELB [ACK]
  3. Сервер -> ELB [FIN, ACK]
  4. ELB -> Сервер [FIN, ACK]
  5. Сервер-> ELB [ACK]

Единственное, что я могу вывести из этого потока tcp, это то, что поток-акцептор принял запрос (таким образом, ACK в 2) и не смог ничего с ним сделать (таким образом FIN, ACK в 3).Мы пытались связываться с acceptorThreads, idleTimeout и даже с acceptQueueSize (последнее основано на отличном сообщении в блоге, описывающем аналогичную проблему ), но все безрезультатно.Наши метрики активных запросов показывают, что мы даже не близки к насыщению пула, поэтому для обработки этого запроса должен быть доступный поток.Любые идеи о том, где еще искать?

...