En un servidor de hosting, el número de conexiones simultáneas que un servidor puede manejar puede configurarse en diferentes niveles, dependiendo del tipo de servidor web y el entorno en el que esté configurado. Aquí te explico cómo se configura en los servidores web más comunes, como Apache, Nginx y PHP-FPM:

1. Apache

Apache permite configurar el número de conexiones simultáneas a través de sus módulos y directivas en el archivo de configuración principal, generalmente ubicado en /etc/apache2/apache2.conf o /etc/httpd/httpd.conf, dependiendo del sistema operativo.

Parámetros clave:
  • MaxRequestWorkers: Define el número máximo de solicitudes simultáneas que Apache puede manejar.
    <IfModule mpm_prefork_module>
    MaxRequestWorkers 150
    </IfModule>
  • ServerLimit: Define el límite máximo de procesos que Apache puede lanzar.
    <IfModule mpm_worker_module>
    ServerLimit 256
    </IfModule>
  • MaxConnectionsPerChild: Define el número máximo de conexiones que cada proceso hijo maneja antes de ser reciclado.
    MaxConnectionsPerChild 1000

Para aplicar estos cambios, después de editarlos, reinicia Apache con:

sudo systemctl restart apache2

2. Nginx

En Nginx, la configuración del número de conexiones simultáneas se controla principalmente a través de los siguientes parámetros en el archivo de configuración ubicado en /etc/nginx/nginx.conf:

Parámetros clave:
  • worker_processes: Define el número de procesos de trabajo de Nginx. Esto debería estar alineado con el número de núcleos de CPU del servidor.
    worker_processes auto;
  • worker_connections: Define el número máximo de conexiones que un solo proceso puede manejar simultáneamente.
    worker_connections 1024;
  • events: En esta sección, se pueden configurar parámetros de eventos de conexión, como el método de I/O utilizado.
    events {
    worker_connections 1024;
    }

El número total de conexiones simultáneas que Nginx puede manejar es el producto de worker_processes y worker_connections.

Una vez que realices los cambios, reinicia Nginx con:

sudo systemctl restart nginx

3. PHP-FPM

Si tu aplicación web está utilizando PHP-FPM para manejar solicitudes PHP, también deberías configurar el número de conexiones concurrentes en el archivo php-fpm.conf o en los archivos de pools, ubicados en /etc/php/7.4/fpm/pool.d/www.conf (la ruta puede variar según la versión de PHP).

Parámetros clave:
  • pm.max_children: Establece el número máximo de procesos de PHP-FPM que pueden estar activos al mismo tiempo.
    pm.max_children = 50
  • pm.start_servers: El número de procesos que se inician cuando el servicio comienza.
    pm.start_servers = 5
  • pm.max_spare_servers: Número máximo de procesos de reserva.
    pm.max_spare_servers = 10

Después de hacer cambios, reinicia PHP-FPM:

sudo systemctl restart php7.4-fpm