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 mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
