Hello! On Fri, Mar 04, 2016 at 12:12:10AM +0300, Evgeniy Berdnikov wrote:
> On Thu, Mar 03, 2016 at 10:49:34PM +0300, Maxim Dounin wrote: > > On Thu, Mar 03, 2016 at 09:41:09PM +0300, Evgeniy Berdnikov wrote: > > > On Thu, Mar 03, 2016 at 08:36:28PM +0300, Maxim Dounin wrote: > > > > Я бы для начала попробовал поискать statefull firewall между > > > > фронтендом и бекендом. Возможно, у него кончаются state'ы, и он > > > > таким нехитрым образом пытается об этом сообщить. > > > > > > Нет, "while sending response to client" и "while reading upstream" > > > однозначно свидетельствуют о том, что соединение установлено. > > > Поэтому переполнение таблицы коннекций исключается. > > > > Это очень сильно зависит от того, как именно ведёт себя firewall, > > когда у него заканчиваются state'ы. E.g., pf умеет уменьшать > > таймауты в случае большого числа state'ов, и соответственно может > > убить соединение в любой момент времени. > > Не думаю, что у вопрошавшего на линке скоростью 10G стоит файрвол. Практика показывает, что у многих - стоит. И выливается это зачастую как раз в подземный стук при увеличении нагрузки, когда state'ы начинают заканчиваться. > > Так или иначе - "Connection reset by peer" при живом бекенде как > > бы намекает на то, что в первую очередь надо смотреть, что > > происходит в сети. > > Я бы скорее подозревал наличие какой-то баги в сетевой карте. > > Например, в неправильном подсчёте чексуммы для пакетов с опцией sack > при включенном rx/tx checksumming offload'е, из-за чего все пакеты при > ретрасмитах дропаются. Коннекция умирает по таймауту. Но при этом > закрывается пакетом RST, который идёт без sack и потому доходит до > ядра получателя, вот и "Connection reset by peer". Так как насытить > линк 10G непросто, то потерь мало, но стоит хоть одному фрейму > пропасть -- sack, затем ретрансмиссии с sack, таймаут, reset. В таком сценарии непонятно, почему бекенд не видит ошибку сразу же, а ждёт ещё минуту после RST, после чего закрывает соединение по таймауту. -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
