В документации по модулю ngx_http_ssl_module написано, что для
уменьшения загрузки процессора рекомендуется использовать только один
рабочий процесс.
Можно поподробнее с чем это связано?
Самая ресурсоёмкая часть SSL - это установление SSL сессий (handshake).
SSL поддерживает кэширование сессий, то есть, клиент может установить
одну сессию, а затем использовать её в нескольких одновременных
или в будущих соединениях.
nginx поддерживает кэш сессий в только пределах одного процесса.
Собственно nginx'у для этого практически ничего не нужно делать,
только пара вызовов, всё остальное делает сам OpenSSL.
Апачу приходится использовать межпроцессный кэш, поскольку
у него каждый процесс обрабатывает только одно соединение и
вероятность того, что следующий запрос этого же клиента попадёт на
тот же процесс, достаточно мала и, как следствие, внутренний
кэш практически не использовуется.
Дело в том, что есть нагруженный сервер, хочется добавить один хост с
https.
99,9% запросов будут идти по http
Сейчас воркеров 3 и уменьшать их не хочется, боюсь это плохо скажется
на обработке http запросов.
Какой характер нагрузки ? Часто ли nginx ходит к диску ? Если нет,
то одного рабочего процесса будет достаточно. Более того, в этом
случае один процесс будет лучше.
Скажется ли отрицательно на загрузке процессора количество воркеров
больше одного, в данном случае?