Em 7 de outubro de 2026, a Shifter tem o maior pool de IPs dos EUA ativos, mais do que a Oxylabs e a Bright Data, por uma fração do custo.A Shifter agora tem o maior pool de IPs ativos dos EUA

Ver benchmarks

Teste de Carga de Proxy Residencial: Como Fazer Stress-Test Antes da Produção

Testar a carga de proxies significa encontrar o seu próprio limite sem atacar o site de outra pessoa. Aqui está o que medir, contra o quê e como interpretar os resultados.

Engenharia · Atualizado em 2 de setembro de 2026 · 7 min de leitura
joelhorpsp95510204080
Concorrência mantida entre 5 e 80. Após o joelho, o p95 âmbar sobe e o rps trava.
Extração de dados
Nesta página
  1. O que você está de fato testando
  2. Teste primeiro contra algo que você possui
  3. Meça as coisas certas
  4. Aumente gradualmente, não em picos
  5. Calibrando contra um alvo real, com cuidado
  6. Interpretando os resultados
  7. Conclusão

Antes de um pipeline de coleta ir para produção, alguém razoavelmente pergunta se ele vai se sustentar em volume total. O instinto é executar um teste de carga, e o instinto está certo, mas o teste de carga em proxies tem uma restrição que o teste de carga comum não tem: a coisa contra a qual você está direcionando tráfego geralmente pertence a outra pessoa.

Esse único fato remodela o exercício. Você não está testando se um sistema consegue absorver sua carga, você está caracterizando o comportamento do seu próprio pipeline e encontrando seu teto, sem conduzir um teste de estresse não anunciado contra terceiros. Veja como fazer isso corretamente.

O que você está de fato testando

Separe as quatro questões, porque elas exigem testes diferentes e apenas uma delas envolve um alvo real.

A capacidade do seu próprio pipeline. Quantas requisições concorrentes seus workers, o tratamento de conexões, o parsing e o armazenamento conseguem sustentar antes que algo sature. Este é um teste do seu código e da sua infraestrutura e pode ser executado sem tocar no site de ninguém.

Comportamento do caminho do proxy sob concorrência. Como a latência e a taxa de sucesso se movem à medida que você aumenta as requisições em andamento pelo gateway. Também majoritariamente independente de qualquer alvo específico.

A tolerância do alvo. Qual ritmo um site específico aceita antes de limitar ou desafiar você. Esta é a questão que deve ser abordada com cuidado e de forma incremental, e não com um gerador de carga.

Throughput de ponta a ponta. O que tudo acima produz junto, que é o número do qual seu cronograma de fato depende.

Confundir essas questões produz o resultado clássico e ruim: um “teste de carga” que martela um único alvo, é bloqueado, e não diz nada além de que você pode ser bloqueado.

Teste primeiro contra algo que você possui

Monte um alvo que você controla e que retorna uma resposta de tamanho realista, e direcione o pipeline a ele através dos proxies. Isso isola tudo, exceto o terceiro.

Você aprende uma quantidade surpreendente de coisas aqui. Se seu pool de workers de fato alcança a concorrência que você configurou. Se o tratamento de conexões está fazendo o que você pensa, já que conexões em pool se comportam de forma diferente através de um gateway, conforme IP não rotacionando. Onde seu parsing ou armazenamento se torna o gargalo. E qual distribuição de latência o caminho do proxy adiciona, sem a variabilidade própria de um alvo misturada.

Use tamanhos de payload realistas. Um teste contra um endpoint minúsculo vai superestimar seu throughput seriamente, porque tanto a largura de banda quanto o parsing escalam com o tamanho da resposta e a latência residencial domina de forma diferente em diferentes tamanhos de payload.

Meça as coisas certas

Throughput isolado é um resumo pobre. Cinco medições tornam um teste de carga interpretável.

Taxa de sucesso validada, não sucesso HTTP. Um teste que reporta 100% de sucesso enquanto retorna páginas de desafio está medindo a coisa errada, conforme detectando conteúdo bloqueado ou falso.

Percentis de latência, especificamente p50, p95 e p99. A latência residencial tem uma distribuição ampla, então uma média esconde a cauda que de fato determina se um trabalho com prazo definido termina.

Throughput como função da concorrência, plotado em vez de amostrado em um único ponto. A característica interessante é onde a curva se estabiliza, já que depois disso você está adicionando requisições em andamento sem adicionar conclusões.

Distribuição de classes de erro, porque a mistura diz o que está te limitando. Timeouts apontam para um lado, sinais de taxa para outro, e desafios para outro ainda, conforme erros comuns de proxy residencial.

Bytes por requisição, já que isso determina o custo em volume de produção e é fácil de medir agora e caro de descobrir depois, conforme estimando a largura de banda mensal.

Aumente gradualmente, não em picos

Aumente a concorrência em etapas, mantenha cada etapa tempo suficiente para os números se estabilizarem, e registre o conjunto completo de medições em cada nível. Um teste de pico não diz quase nada útil aqui, porque a falha que ele produz é indistinguível de um alvo reagindo a uma explosão de tráfego.

O padrão que você está procurando é onde o throughput para de subir com a concorrência, e onde a latência p95 começa a subir bruscamente. Essas duas coisas geralmente coincidem e marcam seu teto prático. Execute seu trabalho de produção em algum ponto abaixo dele, e não nele, porque o teto se move com o comportamento do alvo, a hora do dia e as condições do pool.

for concurrency in [5, 10, 20, 40, 80]:
    stats = run_step(concurrency, duration_seconds=180)   # hold, then record
    print(concurrency, stats.validated_success, stats.p50,
          stats.p95, stats.rps, stats.bytes_per_req, stats.error_mix)
    if stats.validated_success < 0.9 or stats.p95 > LATENCY_BUDGET:
        break                                              # found the knee

Calibrando contra um alvo real, com cuidado

Eventualmente você precisa saber o que suas fontes reais toleram, e isso não pode ser aprendido a partir de um mock. Faça isso como calibração, não como teste de carga.

Comece bem abaixo da taxa pretendida e aumente lentamente, observando a taxa de sucesso validada em vez de códigos de status. Pare de aumentar no primeiro sinal de degradação em vez de empurrar até a falha, já que o objetivo é encontrar um ritmo sustentável, não um ponto de ruptura. Espalhe a calibração por um período mais longo do que parece necessário, porque o limitador de taxa é frequentemente aplicado sobre janelas móveis e uma explosão curta pode passar enquanto uma taxa sustentada não passa.

Respeite o que o alvo diz. Um 429 ou um Retry-After é uma instrução direta e a resposta correta é diminuir o ritmo em vez de rotacionar endereços para manter o ritmo, que é a distinção em limitação de taxa e throttling de requisições.

E mantenha isso proporcional: seu tráfego de calibração deve ser um erro de arredondamento em relação à carga normal do site. Estressar deliberadamente a infraestrutura de terceiros não é um exercício de engenharia benigno, e dependendo da escala e da intenção isso pode cruzar para o campo da interferência. Se você precisa saber os limites de um parceiro com precisão, pergunte a ele.

Interpretando os resultados

Traduza a curva nos dois números que sua configuração de produção precisa: um limite de concorrência por alvo e uma taxa por alvo, ambos definidos abaixo do joelho da curva com margem.

Depois, faça uma verificação de sanidade contra seu cronograma. A concorrência decorre da taxa e da latência, então se sua latência p50 medida for mais alta do que você assumiu, a concorrência necessária para um determinado prazo aumenta correspondentemente, que é a aritmética em planejando volume de requisições e concorrência.

Por fim, trate os resultados como perecíveis. As defesas do alvo mudam, as condições do pool variam por hora e por mercado, e um número medido numa semana tranquila não se sustentará durante um pico. Refaça a calibração periodicamente e, mais importante, execute as mesmas medições continuamente em produção para que o teto seja observado, não assumido, conforme monitorando a saúde do proxy em escala.

Conclusão

O teste de carga em proxies é caracterização de capacidade, não um ataque a terceiros. Separe as quatro questões e teste as duas primeiras contra infraestrutura que você possui com tamanhos de payload realistas, o que isola os gargalos reais do seu pipeline da variabilidade de um alvo. Meça a taxa de sucesso validada, os percentis de latência, o throughput em função da concorrência, a mistura de classes de erro e os bytes por requisição, depois aumente em etapas e procure o joelho onde o throughput se estabiliza e o p95 sobe. Calibre contra alvos reais lentamente e pare no primeiro sinal de degradação em vez de empurrar até a falha, respeitando os sinais de taxa ao diminuir o ritmo em vez de rotacionar. Defina os limites de produção abaixo do joelho, rederive sua concorrência a partir da latência medida, e continue medindo em produção porque o teto se move.

O caminho sendo testado são os proxies residenciais, onde concorrência e geografia são parâmetros por requisição em vez de configurações de plano, cobrados por GB de modo que um teste de carga bem dimensionado custa aproximadamente o que sua largura de banda custa.

Pronto para começar?

Experimente os proxies residenciais da Shifter, mais de 205M IPs, mais de 195 países, a partir de $ 0,75/GB.

Começar