Почему тормозит NGINX + NodeJS WebSocket + MySQL при 2000+ подключениях?
Используйте pm2, если он не еще не используется.
1. Не сказана, какая нагрузка на сервер. Может быть, в этот момент процессор или диск загружен на 100% — поэтому и тормозит.
2. Если Вы уже прошлись по всем узким горлышкам, и видите, что нигде загрузки нет, вероятно, у Вас просто неправильные настройки. Например, в nginx по умолчанию стоит очень маленькое количество соединений, и как только к Вам подключится такое количество пользователей, всё начнёт виснуть. Например, если worker_processes стоит 2, а worker_connections — 1000, то nginx сможет одновременно обслуживать не больше 2000 запросов, остальные запросы будут ставиться в очередь. Решение — поставить их на максимум (сколько не жалко оперативки). Соединение отъедает где-то 10 КБ памяти, поэтому если Вы поставите 100 тыс соединений, то nginx сможет отожрать до 1 ГБ памяти.