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