Parte da nossa série Performance & Scalability
Leia o guia completoTeste de carga de sua plataforma de comércio eletrônico: preparação para o tráfego da Black Friday
O Shopify informou que os comerciantes faturaram coletivamente US$ 9,3 bilhões em vendas durante a Black Friday/Cyber Monday de 2024 – e cada minuto de inatividade durante essas 96 horas custa milhares de dólares em receitas perdidas. O teste de carga é a diferença entre uma plataforma que se adapta perfeitamente durante o pico de tráfego e uma que falha no pior momento possível. No entanto, a maioria das empresas descobre o ponto de ruptura da sua plataforma durante o evento real, e não durante os testes.
Principais conclusões
- Teste de carga com padrões de tráfego realistas, não apenas contagens brutas de solicitações - modele as jornadas reais do usuário desde a navegação até o checkout
- Inicie o teste de carga 8 a 12 semanas antes dos eventos de pico para deixar tempo para mudanças na infraestrutura e otimização do código
- Identifique gargalos progressivamente: aumente da linha de base até 2x o pico esperado, testando cada camada de forma independente
- A análise pós-teste é tão importante quanto o teste em si: correlacione os tempos de resposta com as métricas de infraestrutura para encontrar a verdadeira restrição
Comparação de ferramentas de teste de carga
A escolha da ferramenta de teste de carga certa depende das habilidades técnicas, da infraestrutura e dos requisitos de teste da sua equipe.
| Ferramenta | Idioma | Suporte a protocolo | Scripts | Execução em Nuvem | Melhor para |
|---|---|---|---|---|---|
| k6 (Grafana) | JavaScript | HTTP, WebSocket, gRPC | Javascript ES6 | Nuvem Grafana, Nuvem k6 | Integração CI/CD amigável ao desenvolvedor |
| Artilharia | JavaScript | HTTP, WebSocket, Socket.io | YAML + Javascript | Nuvem de Artilharia | Configuração rápida, cenários baseados em YAML |
| Gafanhoto | Pitão | HTTP (extensível) | Pitão | Modo distribuído | Equipes Python, cenários complexos |
| JMetro | Java | HTTP, JDBC, FTP, LDAP | GUI +XML | BlazeMeter, OctoPerf | Sistemas legados, diversidade de protocolos |
| Gatling | Escala | HTTP, WebSocket | Escala DSL | Empresa Gatling | Relatórios detalhados e de alto desempenho |
| Dramaturgo (carga) | JavaScript | Navegador completo | JavaScript | Corredores de CI | Testando SPAs com muito JavaScript |
k6: Recomendado para a maioria das equipes
k6 é nossa ferramenta recomendada para a maioria dos testes de carga de comércio eletrônico. Ele usa JavaScript para scripts de teste, integra-se a pipelines de CI/CD e produz métricas detalhadas, incluindo percentis de tempo de resposta, taxa de transferência e taxas de erro. Ele é executado localmente ou na nuvem e sua saída se integra aos painéis do Grafana para monitoramento em tempo real.
Os testes k6 definem usuários virtuais (VUs) que executam cenários – sequências de solicitações HTTP que simulam o comportamento do usuário. Cada VU mantém o seu próprio estado de sessão (cookies, cabeçalhos), permitindo fluxos de trabalho autenticados realistas.
Artilharia: Melhor para configuração rápida
O Artillery usa configuração baseada em YAML para cenários comuns e oferece suporte a JavaScript para lógica complexa. Ele é excelente em testes de carga de início rápido, onde você precisa de resultados em minutos, em vez de horas de script. Ele também possui suporte nativo para testes Socket.io e WebSocket.
Modelagem de padrões de tráfego realistas
O maior erro no teste de carga é enviar tráfego uniforme que não corresponde ao comportamento real do usuário. O tráfego real possui padrões específicos que expõem diferentes gargalos.
Modelagem da jornada do usuário
Um teste de carga de comércio eletrônico deve modelar jornadas completas do usuário, não apenas acessos de endpoints individuais. Um teste realista inclui os seguintes tipos de usuários com proporções apropriadas:
| Tipo de usuário | Participação de tráfego | Viagem |
|---|---|---|
| Navegadores | 60-70% | Página inicial, páginas de categorias, páginas de produtos, pesquisa |
| Compradores de comparação | 15-20% | Páginas de produtos, adicionar ao carrinho, visualizar o carrinho, sair |
| Compradores | 8-12% | Navegue, adicione ao carrinho, finalize a compra, pague |
| Clientes recorrentes | 5-10% | Login, histórico de pedidos, novo pedido, checkout |
| Integrações de API | 2-5% | Sincronização de estoque, exportação de pedidos, processamento de webhook |
Padrões de rampa de tráfego
Não pule diretamente para o pico de carga. Rampa gradualmente para identificar pontos de ruptura.
Padrão de aceleração para testes da Black Friday:
- Linha de base (0 a 10 minutos) – comece com o tráfego diário normal para estabelecer a linha de base de desempenho
- Avançar para o pico esperado (10 a 30 minutos) – aumentar gradualmente até o tráfego esperado da Black Friday
- Sustentar o pico (30 a 60 minutos) – manter o pico de carga para testar o desempenho sustentado e vazamentos de recursos
- Teste de pico (60-70 minutos) - simula o início da venda relâmpago com pico de tráfego de 3 a 5x em 30 segundos
- Recuperação (70-80 minutos) – retorne à carga normal e verifique se o sistema se recupera sem intervenção manual
- Teste de absorção (execução separada, 4 a 8 horas) – carga moderada sustentada para detectar vazamentos de memória e esgotamento do pool de conexões
Pense no tempo e no ritmo
Usuários reais não disparam solicitações o mais rápido possível. Eles leem conteúdo, comparam produtos e preenchem formulários. Inclua tempos de reflexão realistas entre as solicitações:
- Entre visualizações de página: 5 a 30 segundos
- Preenchimento do formulário de checkout: 30-120 segundos
- Leitura das descrições dos produtos: 10-60 segundos
- Pesquisa e filtro: 3 a 10 segundos entre ações
Sem tempos de reflexão, seu teste gera uma carga concentrada de forma irreal que não corresponde aos padrões de tráfego de produção.
Identificação de Gargalos
Os testes de carga revelam gargalos, mas você precisa saber onde procurar. Monitore as métricas de infraestrutura juntamente com os resultados dos testes para correlacionar a degradação do tempo de resposta com o esgotamento dos recursos.
Gargalos no banco de dados
Sintomas: Os tempos de resposta aumentam linearmente com a carga, CPU do banco de dados em mais de 90%, log de consulta lento é preenchido rapidamente
Causas comuns:
- Índices ausentes em colunas consultadas com frequência
- Consultas N+1 que se multiplicam com usuários simultâneos
- Bloqueie a contenção nas atualizações de inventário durante a finalização da compra
- Esgotamento do pool de conexões (todas as conexões em uso, fila de novas solicitações)
Diagnóstico: Monitore pg_stat_activity para consultas ativas, pg_stat_user_tables para contagens de varredura sequencial e métricas de pool de conexões. Consulte nosso guia detalhado sobre otimização de consulta de banco de dados.
Gargalos no servidor de aplicativos
Sintomas: picos de CPU para 100%, atraso do loop de eventos aumenta (Node.js), pausas na coleta de lixo causam picos de latência
Causas comuns:
- Operações síncronas bloqueando o loop de eventos (processamento de imagens, geração de PDF)
- Vazamentos de memória causando coleta de lixo cada vez mais frequente
- Processos de trabalho insuficientes para operações vinculadas à CPU
- Falta de cache para cálculos caros
Diagnóstico: Monitore métricas de CPU, memória, atraso do loop de eventos e coleta de lixo por instância do aplicativo.
Gargalos de rede e infraestrutura
Sintomas: Saturação de largura de banda, tempos limite de conexão, atrasos no handshake SSL sob carga
Causas comuns:
- Respostas não compactadas consumindo largura de banda
- Ativos estáticos servidos pelo servidor de aplicativos em vez do CDN
- Encerramento SSL/TLS no servidor de aplicativos em vez do balanceador de carga
- Largura de banda de rede insuficiente para o tipo de instância do servidor
Planejamento de capacidade
Os testes de carga alimentam o planejamento de capacidade – determinando quanta infraestrutura você precisa para eventos de pico.
A Fórmula de Planejamento de Capacidade
- Determinar a expectativa de pico de tráfego – use os dados do ano passado mais as projeções de crescimento. Se esta for sua primeira grande venda, faça uma estimativa com base no alcance de marketing e nos benchmarks do setor
- Adicione margem de segurança – planeje um pico esperado de 2 a 3 vezes para lidar com o tráfego viral inesperado
- Execute o teste de carga na capacidade desejada - verifique se sua infraestrutura suporta picos de 2 a 3 vezes com tempos de resposta aceitáveis
- Calcular o custo – determine o custo da infraestrutura para capacidade de pico e decida se o escalonamento automático ou o pré-provisionamento são mais econômicos
Lista de verificação de pré-escalonamento
Comece a se preparar 8 a 12 semanas antes do evento:
| Linha do tempo | Ação |
|---|---|
| 8-12 semanas antes | Execute o teste de carga de linha de base e identifique os 5 principais gargalos |
| 6-8 semanas antes | Implementar otimizações (cache, correções de consultas, alterações de código) |
| 4-6 semanas antes | Execute o teste de carga no pico esperado, verifique as melhorias |
| 2-4 semanas antes | Execute o teste de carga com pico de 2 a 3 vezes, planeje o dimensionamento da infraestrutura |
| 1 semana antes | Pré-escalar infraestrutura, executar teste de validação final |
| Dia do evento | Monitore painéis, tenha planos de reversão prontos |
Escalonamento automático versus pré-provisionamento
O escalonamento automático ajusta a capacidade com base nas métricas de demanda, mas leva de 3 a 10 minutos para adicionar novas instâncias. Para picos repentinos de tráfego (início de venda relâmpago, postagem viral em mídia social), o pré-provisionamento evita o atraso.
Abordagem recomendada: Pré-provisionamento para lidar com picos esperados, configure o escalonamento automático para picos inesperados além da capacidade pré-provisionada.
Análise pós-teste
O teste de carga em si tem apenas metade do valor. A análise pós-teste transforma dados brutos em prioridades de otimização acionáveis.
Principais métricas para analisar
| Métrica | O que procurar |
|---|---|
| Tempo de resposta P95 | Deve ficar abaixo de 500ms em pico de carga |
| Tempo de resposta P99 | Deve permanecer abaixo de 2s – a latência final afeta os usuários mais engajados |
| Taxa de erro | Deve ficar abaixo de 0,1% – qualquer valor mais alto indica problemas de capacidade |
| Limite de rendimento | As solicitações/segundo em que o tempo de resposta começa a diminuir |
| Tempo de recuperação | A rapidez com que os tempos de resposta se normalizam após um pico |
| Utilização de recursos | CPU, memória, conexões no pico – o que atinge o teto primeiro? |
Criando um Plano de Ação
Priorize as descobertas por impacto nos negócios:
- Erros no pico – qualquer solicitação que retorne 5xx sob carga deve ser corrigida. São vendas perdidas.
- Desempenho de checkout – se o tempo de resposta de checkout exceder 2 segundos, otimize esse caminho primeiro. O checkout lento afeta diretamente a conversão.
- Desempenho de pesquisa e navegação – a descoberta lenta de produtos reduz os itens visualizados e o tamanho do carrinho.
- Administração e back-office – podem degradar durante o pico sem impacto na receita. Despriorize se necessário.
Perguntas frequentes
Como faço para testar a carga de uma loja Shopify se não controlo a infraestrutura?
Concentre-se no que você controla: código de tema personalizado, aplicativos de terceiros e integrações externas. Use ferramentas como Lighthouse CI para testes de desempenho de front-end. Teste seus endpoints de processamento de webhook e APIs de sincronização de inventário sob carga. Para lojistas do Shopify Plus, trabalhe com a equipe de sucesso de lojistas da Shopify para avaliar a capacidade de sua loja específica.
Qual é a diferença entre teste de carga e teste de estresse?
O teste de carga valida se o seu sistema lida com o pico de tráfego esperado com desempenho aceitável. Os testes de estresse vão além dos limites esperados para encontrar o ponto de ruptura e verificar a degradação normal. Teste de carga para preparação para eventos conhecidos; teste de estresse para descobrir limites desconhecidos e garantir que o sistema falhe com segurança e não catastroficamente.
Devo carregar o teste em produção ou teste?
Teste em um ambiente que espelhe a produção o mais próximo possível. Os ambientes de teste geralmente têm bancos de dados menores, menos servidores e configurações de rede diferentes. Se possível, execute testes de carga na infraestrutura de produção durante horários de baixo tráfego. No mínimo, use dados de tamanho de produção em seu banco de dados temporário.
Como simular um processamento de pagamento realista em testes de carga?
Use modos sandbox/teste do provedor de pagamento que aceitam números de cartão de teste. Stripe, PayPal e outros provedores oferecem ambientes de teste que processam transações sem cobrar cartões reais. Teste todo o fluxo de checkout, incluindo chamadas de API de pagamento, para identificar gargalos de integração. Monitore os limites de taxas dos provedores de pagamento – alguns provedores restringem as solicitações de sandbox de maneira diferente da produção.
Com que frequência devo executar testes de carga?
Execute testes de carga abrangentes antes de qualquer grande evento de tráfego (Black Friday, lançamentos de produtos, campanhas de marketing). Execute testes automatizados de carga menor semanalmente ou após alterações significativas no código como parte do CI/CD. Inclua testes de carga em sua lista de verificação de implantação para alterações que afetam endpoints de alto tráfego.
O que vem a seguir
Comece com um teste de carga de linha de base em relação aos padrões atuais de tráfego de produção. Identifique seus três principais gargalos e otimize-os antes de executar o próximo teste. Repita esse ciclo até que sua plataforma lide confortavelmente com o pico de tráfego esperado de 2 a 3 vezes, com tempos de resposta inferiores a 500 ms.
Para um contexto mais amplo de engenharia de desempenho, consulte nosso guia de pilares sobre escalando sua plataforma de negócios. Para otimizar a infraestrutura que seus testes de carga exigem, leia nosso guia sobre escalonamento de infraestrutura e balanceamento de carga.
ECOSIRE fornece testes de carga e otimização de desempenho para plataformas de comércio eletrônico no Shopify e Odoo. Entre em contato com nossa equipe para preparação do desempenho pré-evento.
Publicado por ECOSIRE — ajudando empresas a escalar com soluções baseadas em IA em Odoo ERP, Shopify eCommerce e OpenClaw AI.
Escrito por
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Amplie sua loja Shopify
Serviços personalizados de desenvolvimento, otimização e migração para comércio eletrônico de alto crescimento.
Artigos Relacionados
Geração de conteúdo de IA para comércio eletrônico: descrições de produtos, SEO e muito mais
Dimensione o conteúdo de comércio eletrônico com IA: descrições de produtos, meta tags de SEO, cópia de e-mail e mídia social. Estruturas de controle de qualidade e guia de consistência da voz da marca.
Preços dinâmicos baseados em IA: otimize a receita em tempo real
Implemente preços dinâmicos de IA para otimizar a receita com modelagem de elasticidade de demanda, monitoramento de concorrentes e estratégias de preços éticos. Guia de arquitetura e ROI.
Detecção de fraude por IA para comércio eletrônico: proteja a receita sem bloquear as vendas
Implemente a detecção de fraudes por IA que detecte mais de 95% das transações fraudulentas, mantendo as taxas de falsos positivos abaixo de 2%. Pontuação de ML, análise comportamental e guia de ROI.
Mais de Performance & Scalability
Depuração e monitoramento de webhook: o guia completo para solução de problemas
Domine a depuração de webhook com este guia completo que cobre padrões de falha, ferramentas de depuração, estratégias de repetição, painéis de monitoramento e práticas recomendadas de segurança.
Teste de carga k6: teste de resistência de suas APIs antes do lançamento
Domine o teste de carga k6 para APIs Node.js. Abrange aumentos de usuários virtuais, limites, cenários, HTTP/2, testes WebSocket, painéis Grafana e padrões de integração de CI.
Configuração de produção Nginx: SSL, cache e segurança
Guia de configuração de produção Nginx: terminação SSL, HTTP/2, cabeçalhos de cache, cabeçalhos de segurança, limitação de taxa, configuração de proxy reverso e padrões de integração Cloudflare.
Ajuste de desempenho Odoo: PostgreSQL e otimização de servidor
Guia especializado para ajuste de desempenho do Odoo 19. Abrange configuração do PostgreSQL, indexação, otimização de consultas, cache Nginx e dimensionamento de servidores para implantações corporativas.
Odoo vs Acumatica: Cloud ERP para empresas em crescimento
Odoo vs Acumatica comparados para 2026: modelos de preços exclusivos, escalabilidade, profundidade de fabricação e qual ERP em nuvem se adapta à sua trajetória de crescimento.
Teste e monitoramento de agentes de IA em produção
Um guia completo para testar e monitorar agentes de IA em ambientes de produção. Abrange estruturas de avaliação, observabilidade, detecção de desvios e resposta a incidentes para implantações OpenClaw.