Соединение может занимать ресурсы во время ожидания даже при низкой загрузке CPU. Сначала определите достигнутый лимит, а не предполагайте недостаток процессорной мощности.
Считайте обе стороны проксируемого запроса
Client -- socket A --> Nginx -- socket B --> Backend
Проксируемый HTTP/1.x-запрос может использовать клиентское соединение и ещё одно upstream. Если бэкенд завис, оба остаются заняты. worker_connections включает upstream-соединения, поэтому его значение — не просто число поддерживаемых пользователей.
