On Fri, Mar 04, 2016 at 05:24:31AM +0300, Maxim Dounin wrote: > > > Так или иначе - "Connection reset by peer" при живом бекенде как > > > бы намекает на то, что в первую очередь надо смотреть, что > > > происходит в сети. > > > > Я бы скорее подозревал наличие какой-то баги в сетевой карте. > > > > Например, в неправильном подсчёте чексуммы для пакетов с опцией sack > > при включенном rx/tx checksumming offload'е, из-за чего все пакеты при > > ретрасмитах дропаются. Коннекция умирает по таймауту. Но при этом > > закрывается пакетом RST, который идёт без sack и потому доходит до > > ядра получателя, вот и "Connection reset by peer". Так как насытить > > линк 10G непросто, то потерь мало, но стоит хоть одному фрейму > > пропасть -- sack, затем ретрансмиссии с sack, таймаут, reset. > > В таком сценарии непонятно, почему бекенд не видит ошибку сразу же, а > ждёт ещё минуту после RST, после чего закрывает соединение по > таймауту.
Да, верно. Для начала я бы предложил проверить, включены ли tcp timestamps с обеих сторон. Ну и поиграться с отключением разных offload'ов, попробовать отключить sack, уменьшить window scale до 3-4. -- Eugene Berdnikov _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
