Pular para o conteúdo principal
Versão: 1.x

Desempenho do servidor

O desempenho do servidor afeta diretamente a velocidade e a capacidade de resposta da aplicação WCPOS. O POS faz muitas chamadas à API REST, portanto o tempo de resposta do servidor é o principal gargalo — a velocidade do POS depende muito da qualidade da hospedagem. Este guia ajuda a monitorar, diagnosticar e otimizar o desempenho do servidor usando as métricas integradas e técnicas de solução de problemas.

Requisitos mínimos do servidor

Para um POS responsivo em produção, recomendamos pelo menos:

CPU: 4+ núcleos de CPU
RAM: 4 GB ou mais
PHP: PHP 7.4+ (8.x recomendado)
Banco de dados: MySQL 8.0+ ou MariaDB 11.x
Armazenamento: SSD ou NVMe
SSL: HTTPS é obrigatório — a API REST do WooCommerce não funcionará sem ele
Hospedagem compartilhada geralmente não é suficiente

A hospedagem compartilhada frequentemente tem poucos workers PHP e pouca memória para cargas de trabalho de POS, que fazem muitas chamadas de API simultâneas. Para uso de POS em produção, uma VPS ou hospedagem gerenciada de WordPress é altamente recomendada. A hospedagem gerenciada do WordPress.com também é conhecida por ter problemas de compatibilidade com a API REST (alguns usuários veem apenas 9–10 produtos de catálogos grandes) — recomenda-se WordPress.org auto-hospedado para compatibilidade total.

Pilha de otimização validada pela comunidade

Usuários relatam o melhor desempenho de POS com esta combinação:

  • MariaDB 11.4 (mais rápido que MySQL para cargas de trabalho do WooCommerce)
  • HPOS ativado (veja abaixo)
  • Cache de objetos LiteSpeed ou Redis
  • Armazenamento NVMe
  • PHP OPcache ativado

Erros 503

Erros 503 são sempre do lado do servidor

Um 503 Service Unavailable não é um bug do POS — significa que o servidor não conseguiu processar a requisição. Verifique:

  1. Carga do servidor e recursos disponíveis
  2. Workers do PHP (podem estar esgotados)
  3. Limite de memória do PHP — aumente para 256 MB ou mais
  4. Logs do servidor do seu provedor de hospedagem (entre em contato com o provedor; ele consegue ver o que a aplicação não consegue)

Compatibilidade com versões do WooCommerce

Uma atualização do WooCommerce pode ocasionalmente interromper o POS. Sempre atualize o WooCommerce primeiro em um site de testes e mantenha o WCPOS atualizado para que ele inclua as correções de compatibilidade mais recentes.

Problemas conhecidos:

  • WooCommerce 10.5.0 — interrompeu o carregamento de produtos no POS (sintoma: apenas ~10 produtos são exibidos; a leitura de código de barras e a pesquisa param de funcionar) e introduziu um cache experimental de produtos que pode causar inchaço de postmeta e esgotamento de memória. Correção: atualize o WCPOS para a versão mais recente (ela inclui a correção e uma migração de limpeza) ou reverta o WooCommerce para 10.4.3.

Se uma atualização do WooCommerce interromper o POS, reverta o WooCommerce para a versão anterior (pela guia Avançado na página do plugin no WordPress.org) e relate o problema.

Como entender as métricas do servidor

O WCPOS coleta automaticamente métricas de desempenho do servidor em cada operação de busca de dados (produtos, pedidos, clientes etc.). Essas métricas podem ser visualizadas na tela Registros.

Métricas típicas do servidor

{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}

Detalhamento:

  • total - Número de registros processados (24,692 IDs de produto)
  • execution_time - Tempo necessário para concluir a operação (76.64 milissegundos)
  • server_load - Médias de carga do servidor por 1, 5 e 15 minutos

Carga do servidor explicada

A carga do servidor representa a carga média do sistema em diferentes períodos:

  • Primeiro valor - média de 1 minuto (15.21)
  • Segundo valor - média de 5 minutos (16.16)
  • Terceiro valor - média de 15 minutos (16.77)

Interpretação da carga

Os valores de carga do servidor podem ser enganosos e devem ser interpretados com cuidado:

Os valores de carga podem ser enganosos

As médias de carga do servidor nem sempre têm correlação direta com o desempenho. Um servidor com valores de carga altos (15+) ainda pode responder muito bem se tiver recursos suficientes e estiver bem otimizado. Concentre-se nos tempos de execução, não apenas nos valores de carga.

Diretrizes gerais:

  • Carga em relação aos núcleos da CPU - uma carga de 8.0 em um servidor de 8 núcleos significa utilização total
  • Sustentada vs. temporária - Picos breves são normais; carga alta sustentada pode indicar problemas
  • O desempenho importa mais - Um servidor responsivo com carga alta é melhor do que um servidor lento com carga baixa

O que observar:

  • Tempos de execução aumentando ao longo do tempo
  • Carga crescendo de forma consistente sem explicação
  • Carga alta E tempos de execução lentos juntos

Parâmetros de desempenho

Diretrizes de tempo de execução

OperaçãoBomAceitávelRuimCrítico
Busca de produtos< 100ms100-500ms500ms-2s> 2s
Criação de pedidos< 200ms200-800ms800ms-3s> 3s

Considerações sobre contagem de registros

O tempo de execução deve escalar de forma razoável com a quantidade 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 desempenho

Etapa 1: Monitorar os registros

  1. Abra Registros na gaveta de navegação
  2. Execute a operação lenta (sincronizar produtos, criar pedido etc.)
  3. Procure a entrada de registro correspondente
  4. Expanda o contexto para ver as métricas

Etapa 2: Analisar as métricas

Tempo de execução alto + carga alta no servidor = problema de recursos do servidor

{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}

Solução: aumente os recursos do servidor ou otimize a configuração do servidor

Tempo de execução alto + carga normal no servidor = problema de plugin/banco de dados

{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}

Solução: identifique plugins lentos ou otimize consultas ao banco de dados

Tempo de execução normal + Alta carga do servidor = Sobrecarga geral do servidor

{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}

Solução: reduza a carga do servidor causada por outros processos ou aumente os recursos

Problemas comuns de desempenho

1. Recursos insuficientes do servidor

Sintomas:

  • Carga do servidor consistentemente alta (> 4.0 na maioria dos servidores)
  • Tempos de execução longos em todas as operações
  • Tempos limite frequentes

Soluções:

  • Atualize a CPU - Mais núcleos lidam melhor com solicitações simultâneas
  • Aumente a RAM - Reduz a E/S de disco e melhora o cache
  • Use armazenamento SSD - Melhora drasticamente o desempenho do banco de dados
  • Otimize as configurações do PHP - Aumente memory_limit, max_execution_time

2. Consultas lentas ao banco de dados

Sintomas:

  • Tempos de execução elevados com carga normal do servidor
  • Busca de produtos/pedidos especialmente lenta
  • Códigos de erro relacionados ao banco de dados nos logs

Soluções:

  • Ative o HPOS do WooCommerce - A maior melhoria individual de desempenho do banco de dados
  • Use cache de objetos - Redis ou Memcached, se disponível no seu provedor de hospedagem
  • Mantenha o WordPress atualizado - As atualizações do core frequentemente incluem otimizações de banco de dados
  • Limite as revisões de posts - Adicione define('WP_POST_REVISIONS', 3); ao wp-config.php

3. Interferência de plugins

Sintomas:

  • Degradação súbita de desempenho após atualizações de plugins
  • Operações específicas muito mais lentas do que outras
  • Tempos de execução elevados com carga normal do servidor

Solução de problemas:

  1. Teste em ambiente de homologação - Desative todos os plugins, exceto WooCommerce e WCPOS
  2. Meça a linha de base - Registre os tempos de execução com o mínimo de plugins
  3. Ative gradualmente - Adicione plugins um por um para identificar os responsáveis
  4. Verifique os ganchos dos plugins - Procure plugins conectados às ações do WooCommerce

Plugins problemáticos comuns:

  • Plugins de SEO pesados durante operações de produtos
  • Sistemas complexos de gerenciamento de estoque
  • Plugins de análise/rastreamento em tempo real
  • Plugins personalizados mal codificados

4. Configuração do WordPress/WooCommerce

Sintomas:

  • Desempenho inconsistente
  • Erros relacionados à memória nos logs
  • Painel administrativo lento

Checklist de otimização:

  • Versão do PHP - Use PHP 8.0+ para obter melhor desempenho
  • WooCommerce HPOS - Ative o Armazenamento de pedidos de alto desempenho (veja abaixo)
  • Cache do WordPress - Ative o cache de objetos, se disponível
  • Configurações do WooCommerce - Otimize os tamanhos das imagens dos produtos

Armazenamento de pedidos de alto desempenho do WooCommerce (HPOS)

Maior ganho de desempenho

HPOS é uma das melhorias de desempenho mais significativas que podem ser feitas no WooCommerce. Ele armazena pedidos em tabelas personalizadas do banco de dados em vez da tabela de posts do WordPress, melhorando drasticamente o desempenho para lojas com muitos pedidos.

Benefícios:

  • Consultas de pedidos mais rápidas - Pedidos armazenados em uma estrutura otimizada de banco de dados
  • Menor carga no banco de dados - Separa pedidos de posts/páginas
  • Melhor escalabilidade - Lida com grandes volumes de pedidos com eficiência
  • Melhor desempenho administrativo - Telas de gerenciamento de pedidos mais rápidas

Como ativar:

  1. Acesse WooCommerce > Configurações > Advanced > Features
  2. Ative "Armazenamento de pedidos de alto desempenho"
  3. Siga o processo de migração

Saiba mais:

Práticas recomendadas de monitoramento do servidor

1. Verificações regulares de desempenho

  • Análises semanais - Verifique os registros em busca de tendências de desempenho
  • Medições de referência - Registre os tempos normais de execução
  • Monitoramento em horários de pico - Monitore durante períodos de alto tráfego

2. Configure alertas de desempenho

Monitore estes sinais de alerta:

  • Tempos de execução > 1000ms de forma consistente
  • Carga do servidor > 5.0 por períodos prolongados
  • Erros frequentes de tempo limite nos logs

3. Planejamento de capacidade

Acompanhe as tendências de crescimento:

  • Crescimento da contagem de registros - Produtos, pedidos, clientes
  • Degradação do desempenho - Como o tempo de execução aumenta
  • Utilização de recursos - CPU, memória, uso de disco

Estratégias de otimização do servidor

1. Práticas recomendadas do WordPress/WooCommerce

Ative o HPOS:

  • A melhoria de desempenho mais impactante para WooCommerce
  • Consulte a seção sobre HPOS acima para obter detalhes

Configuração do PHP (consulte seu provedor de hospedagem):

memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000

Configuração do 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. Otimizações no nível da hospedagem

Cache de objetos:

  • Consulte seu provedor de hospedagem sobre a disponibilidade de Redis ou Memcached
  • Muitos provedores de hospedagem gerenciada para WordPress fornecem isso automaticamente

Versão do PHP:

  • Use PHP 8.0+ para obter melhorias significativas de desempenho
  • A maioria dos provedores permite trocar a versão do PHP facilmente

Recursos do servidor:

  • Garanta RAM adequada (mínimo de 1GB, preferencialmente 2GB+)
  • O armazenamento SSD oferece desempenho de banco de dados muito melhor do que unidades tradicionais

Observações específicas por hospedagem

Alguns provedores de hospedagem e CDNs precisam de configuração para permitir que o POS acesse a API REST do WooCommerce:

Hospedagem / serviçoProblemaCorreção
GoDaddy (hospedagem)O firewall do site bloqueia chamadas da API REST para /wp-json/ (erros como "Received 'undefined'")Website Security > Firewall > Configurações > Access Control > Allow URL Paths → adicione /wp-json/
WP Engine (hospedagem)A API REST deve ser ativada explicitamenteAtive a API REST; adicione os endpoints da API à lista de permissões no firewall, se necessário
Cloudflare (CDN)Pode bloquear solicitações da API REST e armazenar respostas da API em cacheVerifique as regras de firewall; adicione uma regra de página para ignorar o cache em /wp-json/*
WordPress.com (hospedagem)Problemas de compatibilidade da API REST / carregamento de produtos (apenas 9 a 10 produtos aparecem)Use WordPress.org auto-hospedado para compatibilidade total
Hospedagem compartilhadaPoucos workers PHP / pouca memória para chamadas simultâneas do POSMigre para um VPS ou uma hospedagem WordPress gerenciada

Plugins de segurança (Wordfence etc.) podem bloquear a API REST de formas semelhantes — consulte Conflitos de plugins para ver a lista completa e as correções.

HTTP 414 — URI muito longo

Carrinhos grandes, ou o token de acesso incluído no URL de checkout, podem exceder o limite de comprimento de URL do servidor (a solicitação de checkout usa GET). Isso pode variar conforme o navegador e ser agravado pelo cache do navegador.

Solução alternativa: limpe primeiro o cache do navegador e, em seguida, aumente o limite de comprimento de URL do servidor:

  • Apache: LimitRequestLine 65536 em httpd.conf
  • Nginx: large_client_header_buffers 4 65536; em nginx.conf
  • Se não houver acesso à configuração, solicite ao provedor de hospedagem que faça o ajuste.

Quando buscar ajuda

Entre em contato com o provedor de hospedagem ou com um desenvolvedor WordPress se:

  • Carga do servidor consistentemente > 8.0 apesar dos esforços de otimização
  • Tempos de execução > 5000ms para operações simples
  • Erros de memória aparecendo com frequência nos logs
  • Consultas ao banco de dados levando > 2 segundos de forma consistente

Forneça a eles:

  • Métricas do servidor dos seus logs
  • Lista de plugins ativos
  • Especificações do servidor (CPU, RAM, tipo de armazenamento)
  • Versões do WordPress e WooCommerce