# 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[​](#minimum-server-requirements "Enlace directo a Requisitos mínimos del servidor")

Para un POS con buena capacidad de respuesta en producción, se recomienda al menos:

CPU

<!-- -->

: 4+ núcleos de CPU

RAM

<!-- -->

: 4 GB o más

PHP

<!-- -->

: PHP 7.4+ (se recomienda 8.x)

Base de datos

<!-- -->

: MySQL 8.0+ o MariaDB 11.x

Almacenamiento

<!-- -->

: SSD o NVMe

SSL

<!-- -->

: HTTPS es obligatorio — la API REST de WooCommerce no funcionará sin HTTPS

El alojamiento compartido a menudo no es suficiente

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[​](#community-validated-optimisation-stack "Enlace directo a 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[​](#503-errors "Enlace directo a Errores 503")

Los errores 503 siempre son del servidor

Un `503 Service Unavailable` **no es un error de POS**: significa que el servidor no pudo gestionar la solicitud. Compruebe:

1. Carga del servidor y recursos disponibles
2. Trabajadores de PHP (pueden estar agotados)
3. Límite de memoria de PHP: auméntelo a **256 MB o más**
4. 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[​](#woocommerce-version-compatibility "Enlace directo a 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](/es/support/troubleshooting/plugin-conflicts.md#before-you-start-use-a-staging-site) 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](https://downloads.wordpress.org/plugin/woocommerce.10.4.3.zip).

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[​](#understanding-server-metrics "Enlace directo a 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](/es/support/logs.md).

### Métricas típicas del servidor[​](#typical-server-metrics "Enlace directo a 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[​](#server-load-explained "Enlace directo a 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[​](#load-interpretation "Enlace directo a Interpretación de la carga")

Los valores de carga del servidor pueden resultar engañosos y deben interpretarse con cuidado:

Los valores de carga pueden resultar engañosos

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[​](#performance-benchmarks "Enlace directo a Pruebas comparativas de rendimiento")

### Directrices sobre tiempos de ejecución[​](#execution-time-guidelines "Enlace directo a 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[​](#record-count-considerations "Enlace directo a 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[​](#diagnosing-performance-issues "Enlace directo a Diagnóstico de problemas de rendimiento")

### Paso 1: Supervisar los registros[​](#step-1-monitor-the-logs "Enlace directo a Paso 1: Supervisar los registros")

1. Abra **Registros** desde el panel de navegación
2. Realice la operación lenta (sincronizar productos, crear pedido, etc.)
3. Busque la entrada de registro correspondiente
4. Expanda el contexto para ver las métricas

### Paso 2: Analizar las métricas[​](#step-2-analyse-the-metrics "Enlace directo a 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[​](#common-performance-problems "Enlace directo a Problemas habituales de rendimiento")

### 1. Recursos insuficientes del servidor[​](#1-insufficient-server-resources "Enlace directo a 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[​](#2-slow-database-queries "Enlace directo a 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[​](#3-plugin-interference "Enlace directo a 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:**

1. **Prueba en staging** - Desactive todos los plugins excepto WooCommerce y WCPOS
2. **Medición de referencia** - Registre los tiempos de ejecución con el mínimo de plugins
3. **Activación gradual** - Añada los plugins uno por uno para identificar los responsables
4. **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[​](#4-wordpresswoocommerce-configuration "Enlace directo a 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[​](#woocommerce-high-performance-order-storage-hpos "Enlace directo a Almacenamiento de pedidos de alto rendimiento (HPOS) de WooCommerce")

Mayor mejora de rendimiento

**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:**

1. Acceda a `WooCommerce > Ajustes > Advanced > Features`
2. Active "Almacenamiento de pedidos de alto rendimiento"
3. Seguir el proceso de migración

**Más información:**

* [Documentación de WooCommerce HPOS](https://woocommerce.com/document/high-performance-order-storage/)
* [Guía de migración de HPOS](https://woocommerce.com/document/high-performance-order-storage/#section-3)

## Prácticas recomendadas de supervisión del servidor[​](#server-monitoring-best-practices "Enlace directo a Prácticas recomendadas de supervisión del servidor")

### 1. Comprobaciones periódicas del rendimiento[​](#1-regular-performance-checks "Enlace directo a 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[​](#2-set-performance-alerts "Enlace directo a 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[​](#3-capacity-planning "Enlace directo a 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[​](#server-optimisation-strategies "Enlace directo a Estrategias de optimización del servidor")

### 1. Prácticas recomendadas de WordPress/WooCommerce[​](#1-wordpresswoocommerce-best-practices "Enlace directo a 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[​](#2-hosting-level-optimizations "Enlace directo a 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[​](#hosting-specific-notes "Enlace directo a 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](/es/support/troubleshooting/plugin-conflicts.md) para ver la lista completa y las soluciones.

### HTTP 414 — URI demasiado largo[​](#http-414-uri-too-long "Enlace directo a 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 65536` en `httpd.conf`
* **Nginx:** `large_client_header_buffers 4 65536;` en `nginx.conf`
* Si no tiene acceso a la configuración, solicite a su proveedor de alojamiento que la ajuste.

## Cuándo solicitar ayuda[​](#when-to-seek-help "Enlace directo a 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

## Documentación relacionada[​](#related-documentation "Enlace directo a Documentación relacionada")

[RegistrosCómo acceder a las métricas del servidor e interpretarlas](/es/support/logs.md)

[Rendimiento del proceso de pagoOptimizar el procesamiento de pagos](/es/support/performance/checkout.md)

[Códigos de errorComprender los códigos de error relacionados con el rendimiento](/es/error-codes/.md)

[Solución de problemasGuías generales de solución de problemas](/es/category/troubleshooting.md)
