nginx-0.1.11

Igor Sysoev is at rambler-co.ru
Thu Dec 2 22:17:43 MSK 2004


Изменения в nginx 0.1.11                                          02.12.2004

    *) Добавление: директива worker_priority.

    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
       влияют на передачу ответа.

    *) Исправление: nginx не вызывал initgroups().
       Спасибо Андрею Ситникову и Андрею Нигматулину.

    *) Изменение: ngx_http_auto_index_module теперь выдаёт размер файлов в
       байтах.

    *) Исправление: ngx_http_auto_index_module возвращал ошибку 500, если в
       каталоге есть битый symlink.

    *) Исправление: файлы больше 4G не передавались с использованием sendfile.

    *) Исправление: если бэкенд резолвился в несколько адресов и при ожидании
       от него ответа происходила ошибка, то процесс зацикливался.

    *) Исправление: при использовании метода /dev/poll рабочий процесс мог
       завершиться с сообщением "unknown cycle".

    *) Исправление: ошибки "close() channel failed".

    *) Исправление: автоматическое определение групп nobody и nogroup.

    *) Исправление: директива send_lowat не работала на Linux.

    *) Исправление: если в конфигурации не было раздела events, то происходил
       segmentation fault.

    *) Исправление: nginx не собирался под OpenBSD.

    *) Исправление: двойные слэшы в "://" в URI превращались в ":/".


Комментарий.

    *) Исправление: файлы больше 4G не передавались с использованием sendfile.

Для всех платформ переделан код для работы с sendfile. В продкашн
тестировался только для FreeBSD. Для остальных платформ должен работать,
но хорошо бы в этом убедиться перед установкой на реальный сервер.

    *) Добавление: директива worker_priority.

"worker_priority -20;" выставляет самый высокий приоритет. Использовать
осторожно и только, если вы понимаете, что делаете. Если nginx у вас
зацикливается, то рабочий процесс с таким приоритетом съест весь процессор.

    *) Изменение: под FreeBSD директивы tcp_nopush и tcp_nodelay вместе
       влияют на передачу ответа.

tcp_nopush включает опцию TCP_NOPUSH на FreeBSD и опцию TCP_CORK на Linux
в начале использования sendfile() и выключает эти опции сразу же после
передачи файла. Эти опции позволяеют передавать заголовок HTTP ответа
и тело запроса в полных эзеренетовских пакетах по 1460 (или около того).

tcp_nodelay включает опцию TCP_NODELAY после обработки первого запроса
в keep-alive соедиении. В Linux опции TCP_CORK и TCP_NODELAY
взаимоисключающие друг друга, поэтому TCP_NODELAY выключается перед включением
TCP_CORK. Во FreeBSD TCP_NODELAY и TCP_NOPUSH могут быть установленны вместе,
однако на время включения TCP_NOPUSH эффект от TCP_NODELAY пропадает.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list