Rendimiento del servidor
El rendimiento del servidor afecta directamente a la velocidad y capacidad de respuesta de la aplicación WCPOS. El POS realiza muchas llamadas a la API REST, por lo que el tiempo de respuesta del servidor es el principal cuello de botella: la velocidad del POS depende en gran medida de la calidad del alojamiento. Esta guía ayuda a supervisar, diagnosticar y optimizar el rendimiento del servidor mediante las métricas integradas y técnicas de solución de problemas.
Requisitos mínimos del servidor
Para un POS con buena capacidad de respuesta en producción, se recomienda al menos:
El alojamiento compartido suele tener muy pocos trabajadores PHP y muy poca memoria para las cargas de trabajo de POS, que realizan muchas llamadas API simultáneas. Para el uso de POS en producción, se recomienda encarecidamente un VPS o alojamiento gestionado de WordPress. También se sabe que el alojamiento gestionado de WordPress.com tiene problemas de compatibilidad con la API REST (algunos usuarios solo ven 9–10 productos de catálogos grandes) — se recomienda WordPress.org autoalojado para una compatibilidad completa.
Conjunto de optimización validado por la comunidad
Los usuarios indican que esta combinación ofrece el mejor rendimiento de POS:
- MariaDB 11.4 (más rápido que MySQL para cargas de trabajo de WooCommerce)
- HPOS activado (véase más abajo)
- Caché de objetos con LiteSpeed o Redis
- Almacenamiento NVMe
- PHP OPcache activado
Errores 503
Un 503 Service Unavailable no es un error de POS: significa que el servidor no pudo gestionar la solicitud. Compruebe:
- Carga del servidor y recursos disponibles
- Trabajadores de PHP (pueden estar agotados)
- Límite de memoria de PHP: auméntelo a 256 MB o más
- Registros del servidor de su proveedor de alojamiento web (póngase en contacto con su proveedor; tiene acceso a lo que la aplicación no puede ver)
Compatibilidad de versiones de WooCommerce
Una actualización de WooCommerce puede hacer que el POS deje de funcionar ocasionalmente. Actualice siempre WooCommerce primero en un sitio de pruebas y mantenga WCPOS actualizado para que incluya las correcciones de compatibilidad más recientes.
Problemas conocidos:
- WooCommerce 10.5.0 — interrumpió la carga de productos en el POS (síntoma: solo se muestran ~10 productos; el escaneo de códigos de barras y la búsqueda dejan de funcionar) e introdujo una caché experimental de productos que puede causar crecimiento excesivo de postmeta y agotamiento de memoria. Solución: actualice WCPOS a la versión más reciente (incluye la corrección y una migración de limpieza), o revierta WooCommerce a 10.4.3.
Si una actualización de WooCommerce hace que el POS deje de funcionar, revierta WooCommerce a la versión anterior (mediante la pestaña Avanzado en la página del plugin en WordPress.org) y notifique el problema.
Comprender las métricas del servidor
WCPOS recopila automáticamente métricas de rendimiento del servidor con cada operación de obtención de datos (productos, pedidos, clientes, etc.). Estas métricas se pueden consultar en la pantalla Registros.
Métricas típicas del servidor
{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}
Desglose:
total- Número de registros procesados (24,692 ID de productos)execution_time- Tiempo necesario para completar la operación (76.64 milisegundos)server_load- Promedios de carga del servidor durante 1, 5 y 15 minutos
Explicación de la carga del servidor
La carga del servidor representa la carga media del sistema durante distintos periodos de tiempo:
- Primer valor - media de 1 minuto (15.21)
- Segundo valor - media de 5 minutos (16.16)
- Tercer valor - media de 15 minutos (16.77)
Interpretación de la carga
Los valores de carga del servidor pueden resultar engañosos y deben interpretarse con cuidado:
Las medias de carga del servidor no siempre se correlacionan directamente con el rendimiento. Un servidor con valores de carga altos (15+) puede seguir respondiendo muy bien si cuenta con recursos suficientes y está bien optimizado. Céntrese en los tiempos de ejecución, no solo en los valores de carga.
Directrices generales:
- Carga relativa a los núcleos de CPU - Una carga de 8.0 en un servidor de 8 núcleos significa una utilización completa
- Sostenida frente a temporal - Los picos breves son normales; una carga alta sostenida puede indicar problemas
- El rendimiento importa más - Un servidor con buena respuesta y carga alta es mejor que un servidor lento con carga baja
Qué se debe vigilar:
- Tiempos de ejecución en aumento con el tiempo
- Carga en crecimiento constante sin explicación
- Carga alta Y tiempos de ejecución lentos al mismo tiempo
Pruebas comparativas de rendimiento
Directrices sobre tiempos de ejecución
| Operación | Bueno | Aceptable | Deficiente | Crítico |
|---|---|---|---|---|
| Obtención de productos | < 100ms | 100-500ms | 500ms-2s | > 2s |
| Creación de pedidos | < 200ms | 200-800ms | 800ms-3s | > 3s |
Consideraciones sobre el recuento de registros
El tiempo de ejecución debería escalar de forma razonable con el número de registros:
// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record
// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record
Diagnóstico de problemas de rendimiento
Paso 1: Supervisar los registros
- Abra Registros desde el panel de navegación
- Realice la operación lenta (sincronizar productos, crear pedido, etc.)
- Busque la entrada de registro correspondiente
- Expanda el contexto para ver las métricas
Paso 2: Analizar las métricas
Tiempo de ejecución alto + carga del servidor alta = problema de recursos del servidor
{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}
Solución: Aumente los recursos del servidor u optimice la configuración del servidor
Tiempo de ejecución alto + carga del servidor normal = problema de plugin/base de datos
{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}
Solución: Identifique plugins lentos u optimice las consultas de la base de datos
Tiempo de ejecución normal + carga alta del servidor = sobrecarga general del servidor
{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}
Solución: reducir la carga del servidor generada por otros procesos o ampliar los recursos
Problemas habituales de rendimiento
1. Recursos insuficientes del servidor
Síntomas:
- Carga del servidor constantemente alta (> 4.0 en la mayoría de los servidores)
- Tiempos de ejecución largos en todas las operaciones
- Tiempos de espera agotados frecuentes
Soluciones:
- Actualizar la CPU - Más núcleos gestionan mejor las solicitudes simultáneas
- Aumentar la RAM - Reduce la E/S de disco y mejora el almacenamiento en caché
- Usar almacenamiento SSD - Mejora drásticamente el rendimiento de la base de datos
- Optimizar los ajustes de PHP - Aumentar memory_limit, max_execution_time
2. Consultas lentas a la base de datos
Síntomas:
- Tiempos de ejecución elevados con carga normal del servidor
- Obtención de productos/pedidos especialmente lenta
- Códigos de error relacionados con la base de datos en los registros
Soluciones:
- Activar WooCommerce HPOS - La mejora más importante para el rendimiento de la base de datos
- Usar la caché de objetos - Redis o Memcached si el proveedor de alojamiento lo ofrece
- Mantener WordPress actualizado - Las actualizaciones del núcleo suelen incluir optimizaciones de la base de datos
- Limitar las revisiones de entradas - Añadir
define('WP_POST_REVISIONS', 3);a wp-config.php
3. Interferencia de plugins
Síntomas:
- Degradación repentina del rendimiento después de actualizar plugins
- Operaciones específicas mucho más lentas que otras
- Tiempos de ejecución elevados con carga normal del servidor
Solución de problemas:
- Prueba en staging - Desactive todos los plugins excepto WooCommerce y WCPOS
- Medición de referencia - Registre los tiempos de ejecución con el mínimo de plugins
- Activación gradual - Añada los plugins uno por uno para identificar los responsables
- Revisión de hooks de plugins - Busque plugins conectados a acciones de WooCommerce
Plugins problemáticos habituales:
- Plugins de SEO pesados durante operaciones con productos
- Sistemas complejos de gestión de inventario
- Plugins de análisis/seguimiento en tiempo real
- Plugins personalizados mal programados
4. Configuración de WordPress/WooCommerce
Síntomas:
- Rendimiento irregular
- Errores relacionados con la memoria en los registros
- Escritorio de administración lento
Lista de comprobación de optimización:
- Versión de PHP - Utilice PHP 8.0+ para mejorar el rendimiento
- WooCommerce HPOS - Active el almacenamiento de pedidos de alto rendimiento (véase más abajo)
- Caché de WordPress - Active la caché de objetos si está disponible
- Ajustes de WooCommerce - Optimice los tamaños de las imágenes de los productos
Almacenamiento de pedidos de alto rendimiento (HPOS) de WooCommerce
HPOS es una de las mejoras de rendimiento más importantes que se pueden implementar en WooCommerce. Almacena los pedidos en tablas de base de datos personalizadas en lugar de la tabla de entradas de WordPress, lo que mejora considerablemente el rendimiento de las tiendas con muchos pedidos.
Ventajas:
- Consultas de pedidos más rápidas - Pedidos almacenados en una estructura de base de datos optimizada
- Menor carga de base de datos - Separa los pedidos de las entradas/páginas
- Mejor escalabilidad - Gestiona grandes volúmenes de pedidos de forma eficiente
- Mejor rendimiento de administración - Pantallas de gestión de pedidos más rápidas
Cómo activarlo:
- Acceda a
WooCommerce > Ajustes > Advanced > Features - Active "Almacenamiento de pedidos de alto rendimiento"
- Seguir el proceso de migración
Más información:
Prácticas recomendadas de supervisión del servidor
1. Comprobaciones periódicas del rendimiento
- Revisiones semanales - Comprobar los registros para detectar tendencias de rendimiento
- Mediciones de referencia - Registrar los tiempos de ejecución normales
- Supervisión en horas punta - Supervisar durante los períodos de mucho tráfico
2. Configurar alertas de rendimiento
Supervisar estas señales de advertencia:
- Tiempos de ejecución > 1000ms de forma constante
- Carga del servidor > 5.0 durante periodos prolongados
- Errores frecuentes de tiempo de espera en los registros
3. Planificación de capacidad
Supervise las tendencias de crecimiento:
- Crecimiento del recuento de registros - Productos, pedidos, clientes
- Degradación del rendimiento - Cómo escala el tiempo de ejecución
- Uso de recursos - CPU, memoria, uso de disco
Estrategias de optimización del servidor
1. Prácticas recomendadas de WordPress/WooCommerce
Habilitar HPOS:
- La mejora de rendimiento más significativa para WooCommerce
- Consulte la sección sobre HPOS anterior para obtener más detalles
Configuración de PHP (consulte con su proveedor de alojamiento):
memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000
Configuración de WordPress:
// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);
// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);
2. Optimizaciones a nivel de alojamiento
Caché de objetos:
- Consulte con su proveedor de alojamiento sobre la disponibilidad de Redis o Memcached
- Muchos proveedores de alojamiento gestionado de WordPress ofrecen esto automáticamente
Versión de PHP:
- Utilice PHP 8.0+ para obtener mejoras significativas de rendimiento
- La mayoría de los proveedores de alojamiento permiten cambiar fácilmente la versión de PHP
Recursos del servidor:
- Compruebe que haya RAM suficiente (mínimo 1GB, preferiblemente 2GB+)
- El almacenamiento SSD ofrece un rendimiento de base de datos mucho mejor que las unidades tradicionales
Notas específicas de alojamiento
Algunos proveedores de alojamiento y CDN requieren configuración para permitir que el POS acceda a la API REST de WooCommerce:
| Alojamiento / servicio | Problema | Solución |
|---|---|---|
| Alojamiento de GoDaddy | El firewall del sitio web bloquea las llamadas a la API REST de /wp-json/ (errores como "Received 'undefined'") | Website Security > Firewall > Ajustes > Access Control > Allow URL Paths → añadir /wp-json/ |
| Alojamiento de WP Engine | La API REST debe habilitarse explícitamente | Habilitar la API REST; añadir los endpoints de API a la lista de permitidos en su firewall si es necesario |
| Servicio de Cloudflare | Puede bloquear solicitudes de la API REST y almacenar en caché respuestas de API | Comprobar las reglas del firewall; añadir una regla de página para omitir la caché para /wp-json/* |
| Alojamiento de WordPress.com | Problemas de compatibilidad con la API REST / carga de productos (solo se muestran 9–10 productos) | Usar WordPress.org autoalojado para una compatibilidad completa |
| Alojamiento compartido | Muy pocos workers de PHP / poca memoria para llamadas simultáneas del POS | Migrar a un VPS o a un alojamiento WordPress gestionado |
Los plugins de seguridad (Wordfence, etc.) pueden bloquear la API REST de formas similares — consulte Conflictos de plugins para ver la lista completa y las soluciones.
HTTP 414 — URI demasiado largo
Los carritos grandes, o el token de acceso incluido en la URL de finalización de compra, pueden superar el límite de longitud de URL del servidor (la solicitud de finalización de compra usa GET). Esto puede depender del navegador y empeorar por la caché del navegador.
Solución temporal: borrar primero la caché del navegador y, a continuación, aumentar el límite de longitud de URL del servidor:
- Apache:
LimitRequestLine 65536enhttpd.conf - Nginx:
large_client_header_buffers 4 65536;ennginx.conf - Si no tiene acceso a la configuración, solicite a su proveedor de alojamiento que la ajuste.
Cuándo solicitar ayuda
Póngase en contacto con su proveedor de alojamiento o con un desarrollador de WordPress si:
- La carga del servidor se mantiene > 8.0 a pesar de los esfuerzos de optimización
- Tiempos de ejecución > 5000ms para operaciones simples
- Errores de memoria que aparecen con frecuencia en los registros
- Consultas de base de datos que tardan > 2 segundos de forma constante
Facilíteles lo siguiente:
- Métricas del servidor de sus registros
- Lista de plugins activos
- Especificaciones del servidor (CPU, RAM, tipo de almacenamiento)
- Versiones de WordPress y WooCommerce