Picos en softirqs RCU monitoreados con NetData en el contenedor proxmox

Picos en softirqs RCU monitoreados con NetData en el contenedor proxmox

Tengo un servidor con las siguientes características:https://www.soyoustart.com/it/offerte/1801sysgame05.xml

ProcesadorIntel i7-4790K

RAM 32GB DDR3 1333MHz

Tráfico ilimitado Anti-DDoS incluido

Discos 1x240GB SSD

Ancho de banda 250Mbps

Instalé la distribución de Linux Proxmox que ejecuta un contenedor basado en el servidor Ubuntu para manejar un servidor de juegos TCP en tiempo real escrito en C++ que, en este momento, llegó a alrededor de 1000 usuarios en línea, y pronto duplicaremos la población actual. .

El problema es que nos encontramos con un extraño "cuello de botella" en el rendimiento tan pronto como el número de usuarios en línea alcanza ~850. Tan pronto como vuelve a ~800 o menos, el cuello de botella desaparece. Lo que prácticamente sucede es que los jugadores tienen que esperar unos 30 segundos para conectarse al servidor, mientras que los jugadores que ya están conectados no experimentan ningún problema (sin latencia, sin congelaciones, etc.). Parece una congestión de la red, un límite máximo o algo similar que niega más conexiones al mismo proceso y crea presión en nuestra CPU (como puede ver en las capturas de pantalla a continuación)

Aquí he recopilado algunos gráficos de nuestro NetData donde noté el mismo "patrón". ElRCU softirqsSupongo que es particularmente significativo, pero no sé qué significa exactamente.

softirqs RCU: imagen

Uso/presión de la CPU: imagen

frecuencia de la CPU imagen

temperatura de la CPU

imagen

No creo que el fallo sea de nuestra CPU en sí, pero como dije anteriormente, parece algo relacionado con una limitación del proceso o algo similar.

¿Tienes alguna idea de lo que está pasando?

ACTUALIZAR:

otro gráfico relacionado

imagen

Respuesta1

Resolví este problema aumentando el ulimit

En mi caso específico, el problema fue que se debe aumentar ulimit (tanto el duro como el blando) y configurarlo permanentemente dentro de la carpeta /etc/ tanto para el host como para el contenedor lxc.

Además, cambié mi contenedor a uno privilegiado, pero no estoy seguro de que sea realmente necesario. Podría haber una manera de solucionarlo también para un contenedor privilegiado, pero no pude lograrlo.

información relacionada