Cómo dimensionar un VPS para WooCommerce según tus pedidos
En pocas palabras
Lo que define el tamaño de un VPS para WooCommerce no son las visitas sino cuántas personas usan el carrito y el checkout al mismo tiempo, porque esas páginas no se pueden cachear. Como punto de partida, una tienda chica con caché de página y de objetos anda bien con 2 vCPU y 2 GB de RAM, y una con decenas de pedidos por día y catálogo grande pide 4 vCPU y 4 GB. Más allá conviene separar la base de datos o pasar a un servidor con más memoria. La cuenta fina sale de medir cuánto ocupa cada proceso de PHP.
Por qué una tienda no se mide en visitas
Una persona que recorre el catálogo recibe páginas que pueden salir de la caché: se arman una vez y se sirven mil. Una persona que agrega un producto al carrito pasa a tener una sesión propia, con su carrito, su costo de envío y su checkout. Esas páginas se generan para ella en cada pedido, con PHP y consultas a la base.
La pregunta útil es cuántas sesiones con carrito tenés al mismo tiempo en el peor momento: la noche que mandás un correo con una promoción, el Hot Sale o el CyberMonday. Ese número, y no las visitas del mes, es el que tiene que entrar en la memoria.
Dónde se va la memoria
| Componente | Consumo típico | Qué lo hace crecer |
|---|---|---|
| Sistema operativo y servicios base | 300 a 500 MB | Agentes de monitoreo, un panel de control |
| Nginx o Apache | 50 a 200 MB | Muchas conexiones abiertas, módulos de Apache |
| MariaDB o MySQL | Lo que le asignes al buffer de InnoDB, más un margen | Catálogo grande, muchos pedidos, tablas de metadatos infladas |
| Cada proceso de PHP-FPM | 60 a 150 MB con WooCommerce | Plugins pesados, constructores visuales, importadores |
| Redis para la caché de objetos | 64 a 256 MB | El tope que le pongas con maxmemory |
Son rangos de referencia. Los valores reales dependen mucho de los plugins: medí los de tu tienda.
La cuenta: cuántos procesos de PHP entran
La cantidad de procesos de PHP que trabajan a la vez (pm.max_children en PHP-FPM) decide cuántos pedidos sin caché atiende la tienda en paralelo. Se calcula con la memoria que queda después de reservar lo demás, dividida por lo que ocupa cada proceso. Para saber cuánto ocupa cada uno en tu tienda, con el sitio andando:
ps -o rss= -C php-fpm8.3 | awk '{s+=$1; n++} END {printf "%d procesos, %.0f MB promedio\n", n, s/n/1024}'- En Ubuntu 24.04 el proceso se llama
php-fpm8.3; en Debian 12,php-fpm8.2; en Debian 13,php-fpm8.4; en AlmaLinux,php-fpm. - Ejemplo con 4 GB: 500 MB para el sistema y Nginx, 1 GB para MariaDB, 256 MB para Redis y 250 MB de margen dejan unos 2 GB para PHP. Si cada proceso ocupa 110 MB, entran 18:
pm.max_children = 18. - Si ponés más de los que entran, en el pico el sistema se queda sin memoria y empieza a usar swap o a matar procesos, casi siempre la base de datos. Es preferible que algunos pedidos esperen un segundo a que se caiga la tienda.
Puntos de partida por tamaño de tienda
| Tienda | Punto de partida | Señal de que quedó chico |
|---|---|---|
| Recién empieza, catálogo chico, pocos pedidos por semana | Un plan de hosting o un VPS de 2 vCPU y 2 GB | El checkout tarda más de 2 segundos o hay errores en los picos |
| Decenas de pedidos por día, cientos o miles de productos | VPS de 4 vCPU y 4 GB con caché de objetos | La base usa swap o la carga supera la cantidad de vCPU durante horas |
| Más de cien pedidos por día o promociones con picos fuertes | Base de datos en otra máquina, o un servidor cloud con más memoria | Se evalúa caso por caso, con una prueba de carga |
Estos valores suponen caché de página y de objetos bien configuradas. Sin ellas, la misma tienda necesita bastante más.
Lo que conviene ajustar antes de agrandar el plan
- Caché de página con excepciones para el carrito, el checkout y Mi cuenta. La mayoría de los plugins de caché las traen: revisá que estén activas.
- Caché de objetos persistente con Redis y un plugin que conecte WordPress con él. Se instala con
apt install redis-serveren Debian y Ubuntu, y condnf install redisen AlmaLinux 9 (en AlmaLinux 10 el paquete equivalente esvalkey). Es lo que más consultas le ahorra a la base. - HPOS, el almacenamiento de pedidos en tablas propias. Viene activado en las tiendas nuevas desde WooCommerce 8.2; si la tuya es anterior, activalo desde los ajustes avanzados después de sincronizar los pedidos.
- Las tareas en segundo plano. WooCommerce usa Action Scheduler, que depende de WP-Cron: dispará el cron desde el sistema cada pocos minutos en lugar de esperar visitas, y limpiá las acciones completadas viejas.
- El buffer de InnoDB.
innodb_buffer_pool_sizetendría que alcanzar para las tablas de la tienda; en la mayoría de las tiendas chicas y medianas, 1 GB sobra.
Cuánto pesan las opciones que se cargan siempre
WordPress lee de una vez, en cada página, todas las opciones marcadas para autocarga. Plugins viejos y transitorios vencidos dejan ahí cientos de kilobytes, y desde WordPress 6.6 la salud del sitio avisa cuando pasan de 800 KB. Para ver cuánto suman, desde phpMyAdmin o la consola de MariaDB, con el prefijo de tablas de tu instalación (wp_ es el de fábrica):
SELECT ROUND(SUM(LENGTH(option_value)) / 1024) AS kb
FROM wp_options
WHERE autoload IN ('yes', 'on', 'auto-on', 'auto');- Si da más de 800, ordená por
LENGTH(option_value)para ver cuáles pesan más y de qué plugin son. - No borres opciones a ciegas: desactivá primero el plugin que las creó y, si ya no lo usás, desinstalalo con su propio botón.
Cómo se ve esto en un Cloud VPS de InHosting
Los Cloud VPS van de 1 a 4 vCPU y de 1 a 4 GB de RAM, con recursos garantizados que no se sobrevenden: en el pico de un Hot Sale, la memoria que contrataste está ahí. Tenés acceso root, elegís Debian, Ubuntu o AlmaLinux, y si la tienda crece pasás a un plan mayor sin reinstalar. Si querés un panel, se puede sumar licencia de DirectAdmin o cPanel.
Cuando la tienda necesita más de 4 GB, el paso siguiente es un servidor cloud, con hardware dedicado y hasta 128 GB de RAM con ampliación. En los dos casos, la administración del sistema queda a tu cargo.
| Plan | Incluye | Por mes |
|---|---|---|
| Cloud VPS VM1 | 1 vCPU · 1 GB de RAM · 15 GB | Sin stock |
| Cloud VPS VM2 | 2 vCPU · 2 GB de RAM · 30 GB | $ 26.910US$ 18 |
| Cloud VPS VM3 | 3 vCPU · 3 GB de RAM · 45 GB | $ 40.365US$ 27 |
| Cloud VPS VM4 | 4 vCPU · 4 GB de RAM · 60 GB | $ 53.820US$ 36 |
Con el 10 % de descuento del código INH, que ya va en los enlaces de contratación. Los precios se leen de la tienda. Ver el detalle de cada plan.
Preguntas frecuentes
¿Puedo tener la tienda en un hosting en lugar de un VPS?
Sí, si es chica. Los planes de hosting están pensados para tiendas chicas y medianas, y WooCommerce se instala en un clic. El VPS se justifica cuando necesitás ajustar PHP, la base o Redis a tu medida, o cuando los picos superan lo que admite un plan compartido. Lo repasamos en cómo elegir el plan según tu CMS.
¿Qué le sirve más a la tienda, más núcleos o más memoria?
Primero memoria. Sin memoria suficiente, la base de datos trabaja contra el disco y todo se vuelve lento, tenga los núcleos que tenga. Los núcleos importan cuando muchos procesos de PHP trabajan a la vez y la carga del sistema supera la cantidad de vCPU.
¿Cuándo tiene sentido llevar la base de datos a otra máquina?
Cuando la base y PHP se pelean por el procesador en los picos, o cuando la base ya necesita más memoria de la que deja libre la web. Separarlas permite darle a cada una lo suyo. Para la mayoría de las tiendas que entran en 4 GB, todavía no hace falta.
¿Un CDN resuelve la lentitud del checkout?
No. El CDN acelera imágenes, estilos y scripts, que son la mayor parte del peso, pero el checkout se arma para cada comprador en tu servidor. Ahí lo que ayuda es la caché de objetos, menos plugins cargando en esa página y una base bien ajustada.
Seguí leyendo
Cuánta memoria RAM necesita tu VPS: cómo calcularla antes de contratar
Qué consume cada parte de un VPS (sistema, base de datos, PHP, correo, panel), un cálculo con ejemplo y cómo darte cuenta de que te falta memoria.
6 min de lectura
Cómo saber si tu VPS se quedó chico antes de pagar más
Carga, memoria, disco y procesos PHP: qué comandos correr, qué valores preocupan y cómo distinguir falta de recursos de un problema de configuración.
5 min de lectura
Qué plan de hosting elegir según tu CMS o tu aplicación
WordPress, WooCommerce, Joomla, PrestaShop, Moodle o Laravel: qué le pide cada uno al servidor y cuándo alcanza un hosting o hace falta un VPS.
6 min de lectura
