# Configuración Optimizada de Apache para Manejar 1000 Solicitudes Simultáneas

- Link: https://binariocero.com/linux/configuracion-optimizada-de-apache-para-manejar-1000-solicitudes-simultaneas
- Published: 2025-01-14T16:19:05+01:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

El módulo MPM (Multi-Processing Module) en Apache gestiona cómo maneja las solicitudes
simultáneas. Según tus necesidades (1000 solicitudes simultáneas), la elección del
módulo MPM adecuado dependerá de los recursos del servidor (CPU, RAM, etc.) y el
tipo de carga. A continuación, se explica cada opción:

### **Opciones de MPM:**

 1. **MPM Prefork:**
 2.  * Usa procesos en lugar de hilos.
     * Apto para aplicaciones que no son seguras con hilos, como algunos módulos de
       PHP antiguos.
     * Menos eficiente en recursos, pero estable.
 3. **MPM Worker:**
 4.  * Usa una combinación de procesos e hilos.
     * Es más eficiente que Prefork.
     * Adecuado para aplicaciones que manejan múltiples solicitudes de manera eficiente
       con hilos.
 5. **MPM Event:**
 6.  * Similar a Worker, pero con mejor manejo de conexiones keep-alive.
     * Ideal para cargas modernas y escalables.

Para manejar **1000 solicitudes simultáneas**, generalmente se recomienda **MPM 
Event** o **MPM Worker** si las aplicaciones son seguras para hilos.

### **Configuración de MPM para 1000 solicitudes simultáneas**

Un ejemplo de configuración en el archivo `mpm_event.conf` o `mpm_worker.conf`:

    ```wp-block-preformatted
    <IfModule mpm_event_module>    StartServers             4    MinSpareThreads         25    MaxSpareThreads         75    ThreadsPerChild         50    MaxRequestWorkers      1000    ServerLimit             20</IfModule>
    ```

### **Parámetros explicados:**

 * **StartServers:** Número inicial de procesos del servidor.
 * **MinSpareThreads / MaxSpareThreads:** Número mínimo y máximo de hilos en espera.
 * **ThreadsPerChild:** Número de hilos por proceso.
 * **MaxRequestWorkers:** Límite total de solicitudes simultáneas.
 * **ServerLimit:** Número máximo de procesos.

### **Recomendaciones adicionales:**

 1. **Ajuste de límites del sistema:**
 2.  * Asegúrate de que el sistema operativo permita suficientes descriptores de archivo
       y conexiones simultáneas.
     * Edita `/etc/security/limits.conf`:
       `* soft nofile 65535 ``* hard nofile 65535`
 3. **Pruebas de carga:**
 4.  * Usa herramientas como `ab` (ApacheBench) o `wrk` para simular 1000 solicitudes
       y ajustar los parámetros según el desempeño.
 5. **Monitoreo:**
 6.  * Usa herramientas como `htop`, `top`, o `mod_status` para monitorear los recursos
       durante pruebas de carga.
