Pular para o conteúdo principal

Teste de carga de sua plataforma de comércio eletrônico: preparação para o tráfego da Black Friday

Prepare seu site de comércio eletrônico para a Black Friday com estratégias de teste de carga usando k6, Artillery e Locust. Aprenda modelagem de tráfego e identificação de gargalos.

E
ECOSIRE Research and Development Team
|15 de março de 202612 min de leitura2.4k Palavras|

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.

Parte da nossa série Desempenho e escalabilidade

Leia o guia completo

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.

FerramentaIdiomaSuporte a protocoloScriptsExecução em NuvemMelhor para
k6 (Grafana)JavaScriptHTTP, WebSocket, gRPCJavascript ES6Nuvem Grafana, Nuvem k6Integração CI/CD amigável ao desenvolvedor
ArtilhariaJavaScriptHTTP, WebSocket, Socket.ioYAML + JavascriptNuvem de ArtilhariaConfiguração rápida, cenários baseados em YAML
GafanhotoPitãoHTTP (extensível)PitãoModo distribuídoEquipes Python, cenários complexos
JMetroJavaHTTP, JDBC, FTP, LDAPGUI +XMLBlazeMeter, OctoPerfSistemas legados, diversidade de protocolos
GatlingEscalaHTTP, WebSocketEscala DSLEmpresa GatlingRelatórios detalhados e de alto desempenho
Dramaturgo (carga)JavaScriptNavegador completoJavaScriptCorredores de CITestando 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árioParticipação de tráfegoViagem
Navegadores60-70%Página inicial, páginas de categorias, páginas de produtos, pesquisa
Compradores de comparação15-20%Páginas de produtos, adicionar ao carrinho, visualizar o carrinho, sair
Compradores8-12%Navegue, adicione ao carrinho, finalize a compra, pague
Clientes recorrentes5-10%Login, histórico de pedidos, novo pedido, checkout
Integrações de API2-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:

  1. Linha de base (0 a 10 minutos) – comece com o tráfego diário normal para estabelecer a linha de base de desempenho
  2. Avançar para o pico esperado (10 a 30 minutos) – aumentar gradualmente até o tráfego esperado da Black Friday
  3. Sustentar o pico (30 a 60 minutos) – manter o pico de carga para testar o desempenho sustentado e vazamentos de recursos
  4. 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
  5. Recuperação (70-80 minutos) – retorne à carga normal e verifique se o sistema se recupera sem intervenção manual
  6. 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

  1. 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
  2. Adicione margem de segurança – planeje um pico esperado de 2 a 3 vezes para lidar com o tráfego viral inesperado
  3. 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
  4. 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 tempoAção
8-12 semanas antesExecute o teste de carga de linha de base e identifique os 5 principais gargalos
6-8 semanas antesImplementar otimizações (cache, correções de consultas, alterações de código)
4-6 semanas antesExecute o teste de carga no pico esperado, verifique as melhorias
2-4 semanas antesExecute o teste de carga com pico de 2 a 3 vezes, planeje o dimensionamento da infraestrutura
1 semana antesPré-escalar infraestrutura, executar teste de validação final
Dia do eventoMonitore 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étricaO que procurar
Tempo de resposta P95Deve ficar abaixo de 500ms em pico de carga
Tempo de resposta P99Deve permanecer abaixo de 2s – a latência final afeta os usuários mais engajados
Taxa de erroDeve ficar abaixo de 0,1% – qualquer valor mais alto indica problemas de capacidade
Limite de rendimentoAs solicitações/segundo em que o tempo de resposta começa a diminuir
Tempo de recuperaçãoA rapidez com que os tempos de resposta se normalizam após um pico
Utilização de recursosCPU, 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:

  1. Erros no pico – qualquer solicitação que retorne 5xx sob carga deve ser corrigida. São vendas perdidas.
  2. 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.
  3. Desempenho de pesquisa e navegação – a descoberta lenta de produtos reduz os itens visualizados e o tamanho do carrinho.
  4. 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.

E

Escrito por

ECOSIRE Team

Redação técnica

A equipe de redação técnica da ECOSIRE escreve sobre Odoo ERP, e-commerce com Shopify, agentes de IA, análise de dados com Power BI, automação com GoHighLevel e boas práticas de software empresarial. Nossos guias ajudam as empresas a tomar decisões de tecnologia bem fundamentadas.

ECOSIRE

Amplie sua loja Shopify

Serviços personalizados de desenvolvimento, otimização e migração para comércio eletrônico de alto crescimento.

Mais de Desempenho e escalabilidade

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.

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.

Agentes de monitoramento de conformidade com OpenClaw

Implante agentes OpenClaw AI para monitoramento contínuo de conformidade. Automatize verificações regulatórias, aplicação de políticas, geração de trilhas de auditoria e relatórios de conformidade.