У меня есть сервер со следующими характеристиками: https://www.soyoustart.com/it/offerte/1801sysgame05.xml
Процессор
Intel i7-4790K
БАРАН
32 ГБ DDR3 1333 МГц
Трафик
Неограниченный
Анти-DDoS
Включено
Диски
1x240 ГБ SSD
Пропускная способность
250 Мбит/с
Я установил дистрибутив Proxmox Linux, который запускает контейнер на основе сервера Ubuntu для управления игровым TCP-сервером реального времени, написанным на C++, который на данный момент достиг около 1000 онлайн-пользователей, и мы собираемся удвоить текущее население в ближайшее время. .
Проблема в том, что мы сталкиваемся со странным «узким местом» в производительности, как только количество онлайн-пользователей достигает ~850. Как только он возвращается к ~800 или меньше, узкое место исчезает. Что на практике происходит, так это то, что игрокам приходится ждать около 30 секунд, чтобы подключиться к серверу, в то время как уже подключенные игроки не испытывают никаких проблем (нет задержек, зависаний и т. д.). Это похоже на перегрузку сети, лимит ограничения или что-то подобное, что запрещает дальнейшие подключения к тому же процессу и создает нагрузку на наш процессор (как вы можете видеть на скриншотах ниже).
Здесь я собрал несколько графиков из нашего NetData, где я заметил ту же самую «схему». программные прерывания RCU имеет особое значение, я думаю, но я не знаю, что именно это означает.
программные прерывания RCU:
загрузка процессора/нагрузка:
частота процессора
температура процессора
Я не считаю, что виноват сам наш процессор, но, как сказано выше, похоже, что-то связано с ограничением процесса или чем-то подобным.
Вы хоть представляете, что происходит?
ОБНОВИТЬ:
другой связанный график