🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

DirectAdmin: Aumentar límites de recursos y rendimiento

Actualizado el 8 de diciembre de 2025

¿Tu servidor con DirectAdmin va lento, los sitios web tardan en cargar o recibes errores como "503 Service Unavailable" o "Internal Server Error"? Es muy probable que los límites de recursos estén ajustados de forma predeterminada y no sean suficientes para el tráfico o las aplicaciones que estás ejecutando.

No te preocupes. Ajustar los límites de recursos y optimizar el rendimiento en DirectAdmin es más sencillo de lo que parece. En esta guía completa, paso a paso, te explicaré cómo aumentar la memoria, el número de procesos, los límites de entrada/salida (I/O) y cómo aplicar buenas prácticas para que tu servidor vuele.

Vamos a transformar tu panel de control en una máquina bien afinada.


¿Por qué es importante ajustar los límites de recursos?

DirectAdmin viene con una configuración inicial bastante conservadora. Esto está bien para un sitio web pequeño o un blog con poco tráfico, pero si tienes tiendas online (WooCommerce, PrestaShop), portales con muchos usuarios o aplicaciones que consumen mucha memoria (como WordPress con muchos plugins), esos límites se quedan cortos.

Al aumentar los límites, permites que:

  • Los scripts PHP se ejecuten sin cortes.
  • Los usuarios del servidor no se bloqueen entre sí.
  • Las páginas carguen más rápido al poder usar más memoria caché.
  • El servidor pueda manejar picos de tráfico sin caerse.

[INFO] Si no ajustas estos parámetros, tu servidor puede comportarse como un coche con el freno de mano puesto. Tiene potencia, pero no puede usarla.


Antes de empezar: Acceso y precauciones

Para realizar estos cambios, necesitas acceso de Administrador o Usuario Reseller en DirectAdmin. También es recomendable tener acceso SSH (línea de comandos) por si algo sale mal, aunque todo se puede hacer desde el panel.

[WARNING] Haz siempre una copia de seguridad de los archivos de configuración antes de modificarlos. Si algo falla, puedes restaurar la configuración original.


## 1. Aumentar los límites de PHP (Memoria, ejecución y subida de archivos)

PHP es el motor de la mayoría de los sitios web. Si no tiene suficiente memoria, los procesos se matan y ves pantallazos blancos o errores 500.

### 1.1. Desde DirectAdmin (Fácil y rápido)

  1. Inicia sesión en DirectAdmin como administrador.
  2. Ve a Nivel de Administrador > Configuración del Servidor > Configuración de PHP (o "PHP Settings").
  3. Selecciona la versión de PHP que usas (ej. PHP 8.x).
  4. Busca y modifica estos valores:
    • memory_limit: 256M (para sitios medianos) o 512M (para sitios grandes). No pongas valores extremos como 2GB a menos que sepas lo que haces.
    • max_execution_time: 300 (segundos). Suficiente para procesos pesados.
    • max_input_time: 300.
    • post_max_size: 64M (para permitir subir archivos grandes).
    • upload_max_filesize: 64M (debe ser igual o menor que post_max_size).
  5. Haz clic en Guardar.

### 1.2. Desde el archivo php.ini (Para usuarios avanzados)

Si no encuentras la opción en el panel, puedes editar el archivo directamente por SSH:

  1. Conéctate por SSH a tu servidor.
  2. Localiza el php.ini de tu versión de PHP. Normalmente está en:
    /usr/local/phpXY/lib/php.ini (donde XY es la versión, ej. 81 para PHP 8.1).
  3. Edítalo con nano o vi:
    nano /usr/local/php81/lib/php.ini
    
  4. Busca y modifica las líneas:
    memory_limit = 256M
    max_execution_time = 300
    max_input_time = 300
    post_max_size = 64M
    upload_max_filesize = 64M
    
  5. Guarda (Ctrl+O, Enter) y sal (Ctrl+X).
  6. Reinicia PHP:
    systemctl restart php81-fpm
    

[TIP] Si tienes varios sitios con distintas necesidades, puedes sobrescribir estos valores desde el archivo .user.ini o .htaccess de cada dominio.


## 2. Aumentar límites de procesos y memoria del sistema (CloudLinux / LVE)

Si tu servidor usa CloudLinux (muy común en hosting compartido), los límites se controlan mediante LVE (Lightweight Virtual Environment). Esto evita que un usuario acapare todos los recursos.

### 2.1. Desde el panel de DirectAdmin

  1. Ve a Nivel de Administrador > Plugin Manager > CloudLinux.
  2. Haz clic en LVE Manager.
  3. Selecciona el usuario o paquete que quieres modificar.
  4. Aumenta estos parámetros:
    • Memory Limit (RAM): 1024 MB (1 GB) para sitios medianos. 2048 MB (2 GB) para sitios grandes.
    • Max Processes: 50 (suficiente para la mayoría).
    • Entry Processes: 10-20 (controla cuántas conexiones simultáneas puede tener).
    • I/O Limit: 1024 MB/s (aumenta la velocidad de lectura/escritura en disco).
  5. Guarda los cambios.

[WARNING] No pongas límites demasiado altos para todos los usuarios. Si un sitio tiene un ataque o un error, podría saturar el servidor. Es mejor ajustar por paquete o usuario.

### 2.2. Sin CloudLinux (Límites del sistema)

Si no tienes CloudLinux, los límites se gestionan desde el archivo /etc/security/limits.conf o mediante systemd. No es tan granular, pero puedes ajustar valores globales.


## 3. Optimizar el rendimiento de MySQL / MariaDB

La base de datos suele ser el cuello de botella. Una mala configuración frena todo el servidor.

### 3.1. Ajustar el archivo my.cnf

  1. Accede por SSH y edita:
    nano /etc/my.cnf
    
  2. Añade o modifica estas líneas (ajusta según la RAM total de tu servidor):
    [mysqld]
    key_buffer_size = 256M          # Para tablas MyISAM
    innodb_buffer_pool_size = 1G    # Para tablas InnoDB (recomendado: 70% de la RAM disponible)
    innodb_log_file_size = 256M
    query_cache_type = 0            # Desactivado en MySQL 8+ (mejor rendimiento)
    max_connections = 150           # Aumenta si tienes muchos sitios
    tmp_table_size = 64M
    max_heap_table_size = 64M
    
  3. Guarda y reinicia MySQL:
    systemctl restart mysql
    

[TIP] Si tu servidor tiene 4 GB de RAM, puedes poner innodb_buffer_pool_size = 2G. No superes el 80% de la RAM total.


## 4. Configurar el Caché (Memcached / Redis)

El caché reduce la carga en la base de datos y acelera las páginas.

### 4.1. Instalar y configurar Redis

  1. Instala Redis desde el panel de DirectAdmin o por SSH:
    yum install redis -y
    systemctl enable redis
    systemctl start redis
    
  2. Configura el límite de memoria en /etc/redis.conf:
    maxmemory 512mb
    maxmemory-policy allkeys-lru
    
  3. Reinicia Redis.

### 4.2. Conectar WordPress a Redis

  1. Instala el plugin Redis Object Cache en WordPress.
  2. Actívalo y haz clic en Enable Cache.
  3. Listo. Las consultas a la base de datos se reducirán drásticamente.

[INFO] También puedes usar Memcached si prefieres. La instalación es similar y DirectAdmin lo soporta nativamente.


## 5. Ajustar el límite de archivos abiertos (Open Files)

El sistema operativo limita cuántos archivos puede abrir un proceso. Si tienes muchos sitios, es fácil llegar al límite.

### 5.1. Aumentar el límite global

  1. Edita /etc/security/limits.conf:
    nano /etc/security/limits.conf
    
  2. Añade al final:
    * soft nofile 65536
    * hard nofile 65536
    
  3. Guarda y reinicia el servidor o los servicios.

### 5.2. Verificar el cambio

Ejecuta:

ulimit -n

Debería mostrar 65536.


## 6. Optimizar el servidor web (Apache / Nginx)

DirectAdmin usa Apache o Nginx como servidor web. Ajustar sus límites es clave.

### 6.1. Para Apache (con mod_mpm_event)

  1. Edita /etc/httpd/conf/extra/httpd-mpm.conf:
    <IfModule mpm_event_module>
        StartServers             5
        MinSpareThreads         25
        MaxSpareThreads         75
        ThreadLimit             64
        ThreadsPerChild         25
        MaxRequestWorkers      150
        MaxConnectionsPerChild 10000
    </IfModule>
    
  2. Aumenta MaxRequestWorkers si tienes mucha RAM (ej. 250 para 4 GB).

### 6.2. Para Nginx

  1. Edita /etc/nginx/nginx.conf:
    worker_processes auto;
    worker_connections 1024;
    
  2. Aumenta worker_connections a 2048 o 4096 si hay mucho tráfico.

## 7. Preguntas Frecuentes (FAQ)

### ¿Qué hago si después de aumentar los límites el servidor sigue lento?

Revisa el consumo de RAM con htop o free -m. Si está al 90%, necesitas más RAM física. También revisa el log de errores de DirectAdmin en /var/log/directadmin/error.log.

### ¿Puedo aumentar los límites para un solo usuario sin afectar a los demás?

Sí, desde Nivel de Administrador > Gestión de Usuarios > selecciona el usuario > Límites de Usuario. Allí puedes ajustar memoria, procesos y espacio en disco de forma individual.

### ¿Es seguro aumentar el límite de memoria PHP a 512 MB?

Sí, siempre que el servidor tenga suficiente RAM. Si tienes 2 GB o más, es seguro. Si tienes 1 GB, mejor no subir de 256 MB.

### ¿Qué pasa si pongo límites demasiado altos?

Un solo usuario podría saturar el servidor, afectando a todos los sitios. Siempre ajusta según los recursos totales y monitorea el rendimiento.

### ¿Cómo sé si mi servidor necesita más recursos?

Si ves errores 503, 502 o 500 frecuentemente, o si el tiempo de carga supera los 3 segundos, es hora de ajustar. Usa herramientas como Google PageSpeed Insights o GTmetrix para medir.

### ¿DirectAdmin tiene alguna herramienta de monitoreo?

Sí, en Nivel de Administrador > Estadísticas del Servidor puedes ver el uso de CPU, RAM y disco en tiempo real. También puedes instalar Monitorix desde el panel.

### ¿Syspanel (HestiaCP) es mejor para esto?

Syspanel (HestiaCP) también permite ajustar límites, pero su puerto de acceso es el 2106. Sin embargo, DirectAdmin ofrece más granularidad y plugins como CloudLinux, lo que lo hace superior para entornos de hosting compartido o revendedores.


Resumen final: Checklist de optimización

Para que no olvides nada, aquí tienes una lista rápida:

  1. Aumentar memory_limit en PHP (256 MB mínimo).
  2. Configurar innodb_buffer_pool_size en MySQL (70% de la RAM).
  3. Instalar y configurar Redis o Memcached.
  4. Aumentar max_connections en MySQL (150+).
  5. Subir el límite de archivos abiertos a 65536.
  6. Ajustar MaxRequestWorkers en Apache.
  7. Activar la compresión Gzip en el servidor web.
  8. Habilitar el caché de páginas (si usas WordPress, instala un plugin de caché).

[TIP] Después de cada cambio, reinicia los servicios correspondientes y monitorea el rendimiento durante 24 horas. Verás una mejora notable.

Ahora ya sabes cómo sacarle el máximo partido a tu servidor con DirectAdmin. No tengas miedo de experimentar, siempre con precaución y copias de seguridad. ¡Tu sitio web te lo agradecerá con velocidad y estabilidad!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel