
Un pico de tráfico 10× puede multiplicar la latencia p99 y dejar inaccesible una tienda WordPress aun con mucha RAM. Los responsables técnicos suelen fijarse en CPU y memoria y no miden RPS ni p95/p99 sostenidos; eso oculta cuellos de botella reales y genera costes inesperados en momentos críticos.
Se necesita un hosting para alta concurrencia que mantenga WordPress estable bajo picos: infraestructura escalable (load balancer, autoscaling), caching a nivel aplicación y CDN, base de datos optimizada y colas.
El artículo incluye un script básico de k6 y una metodología resumida para pruebas; para facilitar la reproducción completa de los tests se incorporan ejemplos ampliados en el cuerpo (script k6 con fases y thresholds, instrucciones para exportar métricas a InfluxDB/Grafana) y se ofrece un repositorio con configuraciones para nginx, docker-compose y playbooks que permiten repetir las pruebas y comparar RPS, p95 y p99 entre proveedores.
Índice
Anuncio
Hosting para alta concurrencia: factores decisivos
La elección de hosting debe basarse en RPS y p95/p99, no solo en RAM o CPU. Medir p95 y p99 bajo carga sostenida revela los cuellos de botella reales. Cualquier decisión sin pruebas sostenidas suele llevar a subestimaciones costosas.
Capacidad real: RPS y latencias
RPS indica cuántas peticiones por segundo sirve la infraestructura. La latencia p95 muestra cuánto tarda el 95% de las peticiones. El p99 refleja los colapsos raros que definen la experiencia del usuario.
Separación de capas y su impacto
Separar web, PHP, caché y DB reduce bloqueos entre componentes. Una arquitectura en capas permite escalar cada pieza por demanda. Warming de caché antes de picos evita fallos iniciales por caché fría.
Coste y dimensionado como variables
El coste real depende de RPS sostenido y complejidad de la app. Como orientación muy general, una vCPU en entornos PHP/WordPress optimizados puede sostener entre ~50 y ~200 RPS, pero la cifra real depende críticamente del cache hit ratio, tipo de contenido dinámico, latencia a la base de datos y tamaño medio de respuesta; siempre conviene medir RPS_por_vCPU en pruebas controladas y usar ese valor para dimensionar con buffer.
Calcular memoria por proceso y añadir un buffer del 30 a 50%.

Arquitectura práctica para picos sostenidos
La solución más segura separa balanceador, nodos web PHP, caché y DB replicada. Cada capa aporta control y permite escalar por cuello de botella. El diseño debe incluir CDN y WAF para reducir carga directa al origen.
Diseño recomendado
Usuario → CDN/WAF → Load Balancer → NGINX reverse proxy → PHP-FPM nodes. Object cache (Redis) reduce consultas y read replicas alivian la DB primaria. Queues fuera de línea gestionan tareas pesadas, como envío de emails.
Kubernetes o VMs: pros y contras
Kubernetes ofrece autoscaling fino y despliegue reproducible. VMs o VPS simplifican operaciones y bajan la curva de aprendizaje. La elección depende del equipo: si falta DevOps, usar DB gestionada.
CDN y WAF en la primera línea
CDN reduce RPS hacia el origen y mejora TTFB para usuarios en España. WAF y mitigación DDoS protegen durante picos maliciosos o tráfico inesperado. Cloudflare y Akamai ofrecen reglas y caché configurables para WordPress.
Junto a la arquitectura recomendada es muy útil disponer de configuraciones listas para replicar ambientes de alta concurrencia: ejemplo de bloque nginx con fastcgi_cache y reglas de purga, docker-compose que despliega NGINX reverse proxy + PHP-FPM pools + Redis como caché de objetos y cola, y un playbook Ansible para ajustar pm.max_children según memoria por proceso. En NGINX conviene usar fastcgi_cache_path con keys por host y cache_lock para evitar stampedes; en PHP-FPM calcular pm.max_children = floor(RAM_disponible_MB / memoria_por_proceso_MB) y activar OPcache.memory_consumption = 128 para reducir compilaciones.
Tener estos archivos (nginx.conf, docker-compose.yml, ansible playbook, scripts de warm-up y k6 avanzados) permite reproducir tests en entornos locales y en la nube, acelerando validación de escalado y ajustes de caché de página y caché de objetos (Redis).
Anuncio
Caching, CDN y configuración para picos
El primer alivio ante picos es cachear al máximo y evitar pasos a la DB. Caché de página y caché de objetos reducen RPS internos de forma drástica. La caché debe calentarse antes del pico para evitar ráfagas de consultas.
Cache de página y object cache
Usar fastcgi_cache en NGINX o Varnish para páginas públicas. Usar Redis para caché de objetos y session store compartido. Medir cache hit ratio: un 90% de aciertos reduce significativamente la carga en la DB.
PHP-FPM y OPcache: ajustes concretos
Calcular pm.max_children por memoria por proceso y RAM disponible. 2 GB RAM dedicados, 40 MB por proceso → ~50 procesos posibles. Habilitar OPcache con 128–256 MB para reducir compilación de PHP.
CDN, HTTP/2 y HTTP/3
Activar HTTP/2 mejora multiplexing; HTTP/3 reduce latencia en redes móviles. Usar Brotli o Gzip para reducir tamaño de respuesta y mejorar TTFB. Verificar que el CDN soporta HTTP/3 si la latencia geográfica es crítica.
Escalado, balanceo y bases de datos
El escalado horizontal permite repartir la carga y mantener latencias bajas. El balanceador debe soportar health checks y reequilibrado rápido. La base de datos necesita réplicas de lectura y optimización de consultas.
Autoescalado y warming de cache
Autoescalado suma nodos cuando sube la carga y los quita luego. El calentamiento de caché puede automatizarse, pero no es una funcionalidad intrínseca del autoescalado: requiere jobs o scripts que pre-calienten fastcgi_cache/Redis o un proceso de warm-up (k6, curl) que se ejecute al iniciar nodos nuevos antes de enrutarles tráfico de producción. Sin warming la primera ola puede saturar la DB y crear errores.
MySQL/MariaDB: tuning para concurrencia
Limitar conexiones entrantes y usar connection pooling cuando sea posible. Configurar índices y monitorizar queries lentas con slow query log. Considerar motores de almacenamiento optimizados para lecturas intensas.
Colas, tareas y offload
Encolar procesos pesados reduce latencia de respuesta para el usuario. Usar Redis Streams o RabbitMQ para trabajos asincrónicos y reintentos. Externalizar backups y procesos de informe evita picos en la DB principal.
Errores y advertencias al elegir hosting
El error más frecuente es confiar solo en las especificaciones del plan. La mayoría de guías aconseja mejorar la capa web; lo que no mencionan es la DB. Ignorar límites de conexiones y PHP-FPM suele producir caídas en picos.
Fallos típicos en proveedores
Hosting compartido suele imponer límites de procesos y conexiones. En picos esos límites generan colas y timeouts en PHP-FPM. Para e-commerce con picos, evitar compartido y elegir cloud con escalado.
Configuración por defecto que falla
Valores por defecto de PHP-FPM y MySQL suelen ser conservadores. No ajustar ulimit y net.core.somaxconn puede limitar la concurrencia. Realizar pruebas de carga revela si los límites del SO son el problema.
Casos reales en España
Un caso habitual: tienda WooCommerce durante oferta cae por DB saturada. Resultado: checkout fallidos y pérdida de ventas por minutos críticos. La solución fue separar DB, añadir read replicas y caché de página.
- Reduce LCP y costes con hosting y optimización para imágenes
- Prueba reproducible: PHP 8.2 vs 7.4 (CPU/RAM por petición)
Josu Barrios
Somos especialistas en mantenimiento WordPress para empresas, profesionales y tiendas online. Contamos con experiencia en seguridad web, optimización de rendimiento, actualizaciones, copias de seguridad y resolución de incidencias técnicas, ayudando a que cada sitio funcione de forma rápida, estable y protegida. Nuestro enfoque combina soporte técnico profesional, buenas prácticas de seguridad y seguimiento continuo para ofrecer un servicio fiable, transparente y orientado a resultados reales.