Re: "client prematurely closed connection" между двумя nginx
Trurl
nginx-forum на forum.nginx.org
Пн Окт 3 02:03:06 UTC 2016
Evgeniy Berdnikov Wrote:
-------------------------------------------------------
> On Sat, Oct 01, 2016 at 09:59:51PM -0400, Trurl wrote:
>
> Заголовок content-length: присутствует в ответе?
на выходе получается 415я ошибка, а nginx при этом всё "лишнее" выкидывает
>
> > Размер кусочка всегда 17376 байт (не зависимо от размера
> оригинального
> > файла).
>
> Похоже на 12 сегментов с mss=1448 (17376=12*1448), интересно было бы
> взглянуть на дамп трафика для такой коннекции. Если есть активное
> оборудование между узлами -- сравнить дампы с обеих сторон.
Это все происходит в локалке в датацентре, и трафик между файлером и нодами
там слишком интенсивный, чтобы что-то мониторить. А если нагрузки нет - то и
ошибок нет. А так там даже просто логи включать "больно".
Сервера все делловские, и файлер, и свитч в unmaged mode между ними.
Да, у файлера задействовано 2 интерфейса в одну сетку, но балансировка
только через днс, с большим ttl.
>
> > Если брать одну конкретную картинку - вероятность ошибки минимальная
> > (особенно если запрос делаю я, а не кто-то другой). Только если их
> хоть пару
> > десятков одновременно, тогда 10-90% (зависит от кармы юзера)
> картинок
> > (мелкие превью) будут битые.
>
> Замечательно то, что проблема надёжно воспроизводится. :)
Думаю, как заставить nginx сначала закешировать картинку, а только потом её
обрабатывать ( всё это в одном запросе). Причём кешировать "всё и навсегда"
не получится, на нодах просто столько места нет (речь про сотни гигабайт).
Если запросить сначала чистый оригинал картинки (в результате чего оный
попадёт в кеш, и всегда без ошибок), а потом попросить изменённую картинку,
то ошибок тоже не бывает.
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,270013,270019#msg-270019
Подробная информация о списке рассылки nginx-ru