Re: Принудительный разрыв соединения
    Evgeniy Berdnikov 
    bgx на protva.ru
       
    Пт Дек 23 22:34:00 UTC 2016
    
    
  
On Fri, Dec 23, 2016 at 05:13:47PM -0500, Violence wrote:
> Evgeniy Berdnikov Wrote:
> -------------------------------------------------------
> > 
> >  Поясните, какой в этом смысл. Может быть, задачу можно решить иначе.
> > -- 
> >  Eugene Berdnikov
> 
> Большое количество пользователей сайтов, которые медленно качают файлы
> 100-150мб.
> При множестве reload, nginx оставляет много процессов, которые пытаются
> мягко завершить соединения.
 Но это правильное поведение. Все варианты обрубания коннекций на уровне
 socket API выливаются в FIN или RST, что приводит к сваливанию качалок
 и в итоге к битым файлам у пользователей.
 Есть только один "нормальный" вариант обрыва соединения: блокировка всех
 исходящих пакетов, так чтобы коннекция у клиента умерла по таймауту
 (тогда качалка сделает реконнект и продолжит тянуть файл). Но этот вариант
 не реализуется через socket API, это нужно делать средствами ядра ОС,
 т.е. внешними по отношению к nginx инструментами.
> Процессов-воркеров становится слишком много и это ест дико много памяти.
 Не нужно заставлять пользователей расплачиваться за свои внутренние
 проблемы. Лучше поищите другие варианты. Например, установите
 административно политику, ограничивающую частоту релоадов nginx.
-- 
 Eugene Berdnikov
    
    
Подробная информация о списке рассылки nginx-ru