Configuración de CentOS para tráfico intenso

Configuración de CentOS para tráfico intenso

Nuevo administrador de sistemas aquí, administrando un servidor CentOS. La semana pasada ha sido una de las más emocionantes de mi carrera y estuvo llena de aprendizaje de todo tipo de cosas nuevas. Sin embargo, hoy tengo otra tarea, y es asegurarme de que nuestro servidor pueda manejar más de lo que nuestro antiguo alojamiento compartido era capaz de hacer.

Originalmente estábamos limitados a 200 conexiones simultáneas en nuestro alojamiento compartido GoDaddy. Con el tiempo, superamos esto (generalmente durante campañas/eventos de marketing) y pasamos a un servidor virtual dedicado. Supongo que Apache manejaría la cantidad de conexiones.

¿Qué configuraciones debo tener en cuenta para permitir la entrada de más tráfico?

Respuesta1

¿Estás hablando simplemente de servir páginas web estáticas? Si tiene algún tipo de back-end programático, hay una gran cantidad de respuestas diferentes, pero para Apache definitivamente es el modelo de proceso y la cantidad de procesos/hilos permitidos. También desea leer las guías generales de ajuste de Apache UNIX y asegurarse de tener procesos adecuados por usuario y archivos abiertos (ulimit -n y -u los muestran; configúrelo usando nproc y nofile en /etc/security/limits.conf y habilítelo mediante agregando "sesión requerida /lib/security/pam_limits.so" en /etc/pam.d/login).

En Apache anterior siempre se usa el modelo "prefork" que genera un proceso separado por subproceso; esa es la configuración anterior de MaxClients. Si está utilizando un montón de módulos y todo eso, 200-250 procesos de Apache pueden llenar fácilmente una máquina que tiene solo una cantidad modesta de RAM. Asegúrese de estar usando Apache más nuevo y de usar el MPM "trabajador" que usa un modelo de subprocesos diferente; obtendrá un poco más por servidor (requiere más configuraciones para ajustarlo).

Si necesita una escalabilidad extrema, haga la transición a nginx o similar fuera de Apache. Pero si el escenario es "algo más de 200", Apache está bien.

Asegúrese de establecer su tiempo de espera en un valor razonablemente bajo, a menos que esté entregando archivos grandes, como 30 aproximadamente.

Utilice compresión y almacenamiento en caché.

Respuesta2

Además, como alcanzará una carga mayor, es posible que deba ajustar la configuración del firewall de Linux, especialmente el módulo de conexión. Hay algunos artículos disponibles en Internet, el mío está aquí:http://timanovsky.wordpress.com/2009/04/10/tuning-linux-firewall-connection-tracker-ip_conntrack/

información relacionada