Testes controlados de falha

Simulador de perda de pacotes Clumsy

O simulador de perda de pacotes Clumsy descarta uma parte controlada dos pacotes do Windows correspondentes ao filtro. Usado com cuidado, permite observar tentativas, reconexões, degradação de streaming, conclusão parcial e risco de operações duplicadas sem alterar código.

Baixar simulador de perda de pacotes Clumsy Ler guia completo

Informações Drop e drop-throttled verificadas em 20 de julho de 2026.

Interface do simulador de perda Clumsy
Filtro restrito e chance baixa são necessários, pois o Clumsy não recupera pacotes descartados.
Início seguro

Use filtro restrito autorizado, ative Drop com chance baixa, execute uma ação, confira logs de cliente e servidor, pare o Clumsy e comprove o retorno da referência.

MóduloDrop
Chance inicialBaixa
Risco principalOperação duplicada
EvidênciaCliente + servidor

01

O que significa perda de pacotes no Clumsy

Com Drop ativo, os pacotes correspondentes são descartados conforme a chance. Dependendo do protocolo e aplicativo, o efeito aparece como nova tentativa, pausa, qualidade menor, reconexão, operação incompleta ou timeout. TCP retransmite, mas muda o tempo e não garante experiência clara. UDP pode mostrar perda diretamente.

Perda não é latência. Pacote atrasado ainda chega; descartado não. O aplicativo pode tentar novamente, usar cache, trocar transporte, reconectar ou informar erro. Teste Drop separado de Lag para identificar a recuperação responsável.

As notas 0.3 citam drop-throttled para rajadas e chance mais precisa. Use e registre os ajustes exatos da versão verificada.

SintomaExplicaçãoEvidência
Requisição demoraNova tentativaHorários e logs
Ação aparece duas vezesPrimeira concluiu, resposta perdidaChave idempotente e servidor
Qualidade caiPacotes de mídia ausentesMétricas e contadores
Sessão reconectaHeartbeat perdidoLogs de conexão
Erro permanenteLimite ou timeoutErro do cliente e servidor

02

Planejar teste com limite claro

Comece com ação de resultado conhecido. Exemplo: ao carregar mensagens com perda baixa, o cliente deve mostrar progresso, tentar com segurança, evitar duplicatas e concluir ou oferecer ação clara. Defina aprovação e tempo máximo.

Escolha tráfego próprio ou autorizado. Limite de host, protocolo ou porta protege outros aplicativos. Feche trabalho sensível e prepare Stop. Não use filtro global nem receita supostamente indetectável.

Colete os dois lados. O cliente não sabe se o servidor concluiu uma operação cuja resposta sumiu. IDs, chaves idempotentes, registros e horários distinguem tentativa segura e efeito duplicado.

  • Uma operação e resultado.
  • Chance baixa primeiro.
  • Lag e Tamper desligados.
  • IDs de cliente e servidor.
  • Stop e recuperação obrigatórios.

03

Executar o simulador passo a passo

Baixe e extraia Clumsy 0.3 oficial para a arquitetura do Windows. Verifique fonte e checksum. Crie filtro WinDivert restrito com sintaxe oficial e confirme o alvo autorizado.

Ative Drop com chance baixa e outros módulos desligados. Pressione Start, execute uma ação e observe contadores, cliente e servidor. Não aumente a porcentagem durante a execução; pare e crie outro cenário.

Pressione Stop e repita a referência. Confirme que tentativas, filas e conexões normalizaram. Se o aplicativo travar, capture o estado antes de reiniciar. O defeito só é interpretável depois que a falha de rede terminou.

  1. ReferênciaExecutar normalmente e capturar IDs.
  2. Limitar tráfegoFiltro autorizado mais restrito.
  3. Ativar DropChance baixa, sem outros módulos.
  4. Uma operaçãoObservar tentativas e efeitos no servidor.
  5. Parar e conciliarRestaurar e buscar duplicatas.
Interface Clumsy com Drop
Um filtro, Drop e uma chance registrada por execução.

04

Criar matriz de perda

Use cenários progressivos em vez de conexão inútil. Perda baixa testa resistência normal, moderada revela problemas de tentativa e severa verifica falha clara. A porcentagem depende do protocolo e produto.

Repita para separar comportamento determinístico do acaso. Uma requisição bem-sucedida não prova resistência. Registre tentativas, conclusões, duplicatas, erros e recuperação.

Separe tipos de requisição. Leitura, upload, mutação semelhante a pagamento, streaming e heartbeat têm riscos diferentes. Documente cada tipo e o estado final.

CenárioObjetivoEvidência
Perda baixaResistênciaTentativa transparente
ModeradaLimiteSem duplicatas e erro útil
RajadaInterrupção curtaReconexão e conciliação
SeveraFalhaTimeout limitado e estado preservado

05

Observar tentativas e operações duplicadas

O problema mais importante pode ocorrer quando o servidor conclui e a resposta se perde. O cliente não vê sucesso e tenta novamente. Sem idempotência, outra solicitação cria segundo pedido, mensagem, trabalho ou pagamento. O sintoma pode ser um carregamento seguido de dois registros.

Use IDs estáveis e verifique o servidor depois de cada mutação. Um sistema robusto reconhece a tentativa como a mesma operação ou permite conciliar. Clumsy cria o sintoma, não substitui rastreamento.

Teste também após reabrir ou reconectar. O estado final claro importa tanto quanto o erro. Se a operação pode ter concluído, a interface não deve sugerir repetição cega.

A perda pode esconder sucesso

Resposta ausente não prova falha do servidor. Concilie IDs e registros.

06

Interpretar TCP, UDP e aplicativo

TCP retransmite e ordena, então perda baixa pode parecer atraso. Aplicativos UDP tratam recuperação na camada de aplicação, deixando sintomas em tempo real visíveis. Isso não substitui telemetria.

Bibliotecas têm políticas próprias. Um cliente pode repetir GET, mas não mutação; websocket pode reconectar e perder estado. Registre versões, limite, espera e tentativa em segundo plano.

Use Clumsy junto de contadores, logs, traces e interface. Alinhe horários, registre estatísticas e estado após Stop para distinguir repetição inofensiva de operação incompleta. Para cada tipo de requisição, anote quantidade de tentativas, respostas recebidas, operações concluídas, efeitos duplicados, mensagens exibidas e tempo de recuperação. Verifique se a biblioteca usa espera exponencial, limite fixo ou repetição em segundo plano. Em uma mutação, abra o registro no servidor depois do teste e compare com o que o cliente mostra. Em streaming, capture métricas do player e eventos de reconexão. Em websocket, observe mensagens não enviadas e restauração da sessão. A mesma chance de Drop pode produzir resultados diferentes por protocolo e política do cliente, por isso versões das bibliotecas e configurações precisam acompanhar o relatório.

07

Evitar testes inseguros

Não comece com Drop alto em todo tráfego. Isso desconecta ferramentas e esconde o comportamento. Não combine módulos antes de uma referência e não aceite um sucesso como prova estatística.

Não desligue segurança para fork desconhecido nem use perda para manipular jogos ou serviços. Escopo autorizado, hipótese e recuperação distinguem teste legítimo.

Após cada execução, Stop e referência. Se continuar instável, capture logs, feche o Clumsy e verifique outras ferramentas. O teste responsável termina restaurado.

Perguntas frequentes

Perguntas sobre o simulador de perda de pacotes Clumsy

Qual porcentagem primeiro?

Comece baixa e aumente conforme requisito, protocolo e risco.

Por que parece latência?

TCP ou aplicativo recupera dados, mas a tentativa adiciona tempo. Use logs.

Testa rajadas?

As notas 0.3 citam drop-throttled. Registre configuração exata.

Por que ocorreu duas vezes?

O servidor pode ter concluído e perdido a resposta. Verifique idempotência e registros.

É lag switch seguro?

Não apoiamos lag switching, desvio ou prejuízo a terceiros. Use somente em testes autorizados.

Versão verificada no GitHub

Preparando o download

Preparando o download

O arquivo será iniciado a partir da versão verificada do jagt/clumsy no GitHub após a contagem regressiva. Mantenha esta página aberta.