В документации по nginx говорится
max_clients = worker_processes * worker_connections
но как фактор keepalive в этом? У меня есть настройка конфигурации с 2 рабочими_процессами и 8192 worker_connections; это означает, что я могу теоретически обрабатывать максимум 16384 одновременных соединений. Выталкивание 16384 потоков данных одновременно является ginormous, но если у меня есть 60s keepalive_timeout, тогда каждый клиент затягивает соединение в течение 1 минуты, это число имеет совершенно другое значение. Что это?
Подключено ко всем это переменная $connection, которая может использоваться с директивой log_format. Я определил следующий формат журнала, чтобы проанализировать производительность сервера:
log_format perf '$request_time $time_local $body_bytes_sent*$gzip_ratio $connection $pipe $status $request_uri';
Эта переменная $connection сообщает об 11-12 миллионах подключений! Я не математик, но, очевидно, это число выше, чем work_processes * worker_connections. Итак, что он должен представлять?
Короче говоря, я пытаюсь выяснить, как определить хорошее значение для employee_connection.