Cómo dimensionar un VPS para WooCommerce
WooCommerce es exigente porque el carrito y el checkout no se pueden cachear: cada uno de esos pedidos golpea la base de datos. Para una tienda de hasta 50 pedidos diarios, 4 GB de memoria y 2 núcleos alcanzan si hay caché de página y de objetos. Arriba de eso conviene separar la base de datos en su propia máquina.
Por qué una tienda pesa más que un blog
En un blog, el 99 por ciento de las visitas ven la misma página y la caché las sirve sin tocar la base. En una tienda, cada persona con carrito tiene una sesión distinta: el mini carrito, los precios según el usuario y el checkout no se pueden servir cacheados.
Por eso el número que importa no son las visitas sino cuántas personas tienen un carrito activo al mismo tiempo. Diez visitantes navegando el catálogo pesan menos que dos en el checkout.
Dimensionamiento por volumen
| Pedidos por día | Memoria | Núcleos | Arquitectura |
|---|---|---|---|
| Hasta 10 | 2 GB | 2 | Todo en un VPS |
| 10 a 50 | 4 GB | 2 a 4 | Todo en un VPS, con caché de objetos |
| 50 a 200 | 8 GB | 4 | Base de datos separada, o VPS grande |
| 200 a 800 | 16 GB | 8 | Web y base en máquinas distintas |
| Más de 800 | A medida | A medida | Web replicada, base dedicada |
Los números asumen caché de página y de objetos funcionando. Sin caché, dividí la capacidad por tres.
Lo que hay que dejar configurado sí o sí
- Caché de página con excepciones para carrito, checkout y cuenta. Cachear esas tres rompe la tienda.
- Caché de objetos persistente, que es lo que más alivia la base en WooCommerce.
- Limpieza periódica de sesiones y de transitorios vencidos: la tabla de opciones crece sin control si nadie la mira.
- Índices en las tablas de metadatos de pedidos, o el almacenamiento de pedidos en tablas propias si tu versión lo permite.
- Imágenes en formato moderno y en el tamaño en que se muestran.
Los tres cuellos de botella clásicos
- La tabla de opciones inflada de transitorios que nadie borra. Es la causa número uno de tiendas lentas.
- Plugins que consultan servicios externos en cada carga: cotizadores de envío, sincronizadores de stock.
- Búsquedas en el catálogo sin índice, que hacen recorrer la tabla entera.
Preguntas frecuentes
¿Aguanta un Black Friday?
Depende de la concurrencia esperada, no del total del día. Si esperás diez veces el tráfico habitual, hay que probar antes con una simulación de carga y tener el plan de ampliación acordado.
¿Conviene separar la base de datos?
A partir de unos 50 pedidos diarios sostenidos, sí. La ventaja no es solo capacidad: la base deja de competir con el servidor web por el mismo procesador, que es lo que causa los tirones.
¿Un CDN ayuda en una tienda?
Mucho, para imágenes y archivos estáticos, que son el grueso del peso. En el checkout no ayuda porque ese contenido se genera para cada persona.
Seguí leyendo
Cuánta RAM necesita tu VPS
La memoria es lo primero que se agota y lo que más caro sale sobredimensionar. Cómo calcular la que hace falta, con números.
Cachés: navegador, servidor y CDN sin pisarse
Tres capas de caché que resuelven cosas distintas. Cómo configurarlas para que sumen en lugar de estorbarse.
Cómo elegir el plan de hosting según tu CMS
WordPress, PrestaShop, Moodle, Laravel: cada uno pide cosas distintas del servidor. Qué mirar antes de contratar.