ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: ssl and worker_processes



On Thu, 1 Dec 2005, Anton Yuzhaninov wrote:

IS> Самая ресурсоёмкая часть SSL - это установление SSL сессий (handshake).
IS> SSL поддерживает кэширование сессий, то есть, клиент может установить
IS> одну сессию, а затем использовать её в нескольких одновременных
IS> или в будущих соединениях.

IS> nginx поддерживает кэш сессий в только пределах одного процесса.
IS> Собственно nginx'у для этого практически ничего не нужно делать,
IS> только пара вызовов, всё остальное делает сам OpenSSL.

IS> Апачу приходится использовать межпроцессный кэш, поскольку
IS> у него каждый процесс обрабатывает только одно соединение и
IS> вероятность того, что следующий запрос этого же клиента попадёт на
IS> тот же процесс, достаточно мала и, как следствие, внутренний
IS> кэш практически не использовуется.

Дело в том, что есть нагруженный сервер, хочется добавить один хост с
https.

99,9% запросов будут идти по http

Сейчас воркеров 3 и уменьшать их не хочется, боюсь это плохо скажется
на обработке http запросов.

IS> Какой характер нагрузки ? Часто ли nginx ходит к диску ? Если нет,
IS> то одного рабочего процесса будет достаточно. Более того, в этом
IS> случае один процесс будет лучше.

Нагрузка - раздача файлов от 100 кб до нескольких Mb с диска.

В логе иногда проскакивают сообщения:
accept() failed (53: Software caused connection abort) while accepting new 
connection on 213.219.249.67:80
Как писалось в рассылке то лечиться наоборот увеличением воркеров.

Хотя в моем случае это можно быть вызвано другой причиной - скорость
скачки ограничивается через ipfw pipe и много пакетов дропается в нем.

"Software caused connection abort" означает, что к тому моменту, когда
nginx вызвал accept(), клиент уже закрыл соединение. Если netstat -Lan
показывает, что очередь запросов практически пустая, то дело не в числе
воркеров.

Есть другой сервер, там нагрузка на диск сравнительно небольшая и
думаю лучше сделать 1 воркер. Вопрос такой - можно ли будет как то
понять, что одного воркера мало, если ли какие ни будь признаки?

Во FreeBSD одного воркера мало, если
1) nginx часто висит в состоянии biord,
2) requests for I/O initiated by sendfile в выводе "netstat -m"
   увеличивается с каждой секундой.

Скажется ли отрицательно на загрузке процессора количество воркеров
больше одного, в данном случае?

IS> Если SSL мало, то не должно.

SSL запросов будет очень мало, так что думаю можно смело его включать.

Можно.


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




 




Copyright © Lexa Software, 1996-2009.