ssl and worker_processes
Igor Sysoev
is at rambler-co.ru
Thu Dec 1 19:24:46 MSK 2005
On Thu, 1 Dec 2005, Anton Yuzhaninov wrote:
> В документации по модулю ngx_http_ssl_module написано, что для
> уменьшения загрузки процессора рекомендуется использовать только один
> рабочий процесс.
>
> Можно поподробнее с чем это связано?
Самая ресурсоёмкая часть SSL - это установление SSL сессий (handshake).
SSL поддерживает кэширование сессий, то есть, клиент может установить
одну сессию, а затем использовать её в нескольких одновременных
или в будущих соединениях.
nginx поддерживает кэш сессий в только пределах одного процесса.
Собственно nginx'у для этого практически ничего не нужно делать,
только пара вызовов, всё остальное делает сам OpenSSL.
Апачу приходится использовать межпроцессный кэш, поскольку
у него каждый процесс обрабатывает только одно соединение и
вероятность того, что следующий запрос этого же клиента попадёт на
тот же процесс, достаточно мала и, как следствие, внутренний
кэш практически не использовуется.
> Дело в том, что есть нагруженный сервер, хочется добавить один хост с
> https.
>
> 99,9% запросов будут идти по http
>
> Сейчас воркеров 3 и уменьшать их не хочется, боюсь это плохо скажется
> на обработке http запросов.
Какой характер нагрузки ? Часто ли nginx ходит к диску ? Если нет,
то одного рабочего процесса будет достаточно. Более того, в этом
случае один процесс будет лучше.
> Скажется ли отрицательно на загрузке процессора количество воркеров
> больше одного, в данном случае?
Если SSL мало, то не должно.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list