Limites de uso dos proxies
Os limites de uso dos proxies determinam quanto volume de dados um serviço pode transportar para você, com que rapidez você pode enviar trabalho por ele e quais destinos ele pode alcançar. Várias regras podem se aplicar à mesma tarefa. O tráfego ilimitado pode vir acompanhado de um limite de conexões simultâneas e de restrições a determinados sites ou portas. Cada condição controla uma parte diferente do serviço.
Ao escolher um serviço de proxy, compare essas condições com o trabalho que sua aplicação realmente executa. Uma contagem de IPs ou um único teste bem-sucedido revela apenas parte desse cenário. Entender o que cada limite mede facilita estimar a capacidade e identificar qual condição precisa mudar quando uma tarefa não se enquadra.
O que um provedor pode limitar
Alguns limites descrevem um recurso consumido ao longo de um período. Outros controlam a carga de trabalho em um determinado momento ou decidem se uma conexão sequer é permitida. As distinções a seguir são úteis mesmo quando um plano anuncia apenas um ou dois desses parâmetros.
| Parâmetro | O que é medido | O que determina |
|---|---|---|
| Volume de tráfego | Bytes transferidos | Ilimitado ou com franquia, dependendo do produto |
| Franquia de solicitações | Operações contabilizadas durante o período da franquia | Quanto trabalho contabilizado está incluído |
| Taxa de transferência | Bits ou bytes por segundo | Com que velocidade os dados podem ser transferidos |
| Frequência de solicitações | Solicitações por segundo ou minuto | Com que frequência novos trabalhos podem ser enviados |
| Conexões simultâneas | Conexões contabilizadas ao mesmo tempo | Quantas conexões podem permanecer abertas ao mesmo tempo |
| Acesso a destinos | Site, endereço ou operação solicitada | Quais recursos e funções são permitidos |
| Acesso a portas | Porta de destino e transporte | Quais serviços de rede o proxy pode alcançar |
O provedor usa essas regras para distribuir a capacidade da rede e os recursos de processamento, controlar custos e restringir atividades indesejadas. Seus efeitos são diferentes: um limite maior de conexões permite mais conexões ao mesmo tempo, enquanto a permissão para alcançar um destino bloqueado muda quais tarefas o serviço pode executar. Alterar uma condição não muda automaticamente as demais.
Conexões simultâneas
Um limite de conexões simultâneas define quantas conexões podem permanecer abertas ao mesmo tempo. Um navegador ou outra aplicação pode abrir várias conexões para uma única tarefa. Por isso, o número de abas, perfis ou threads do programa não informa exatamente quanto dessa franquia está em uso.
As conexões podem permanecer abertas entre solicitações, e o HTTP/2 pode transportar várias solicitações em uma só conexão. Enviar menos solicitações por minuto não necessariamente libera as conexões ocupadas. O artigo sobre conexões simultâneas explica o que consome essa franquia e por que ela difere do número de solicitações.
Os limites podem afetar uns aos outros. Se uma resposta grande demorar mais para ser transferida, sua conexão poderá ficar ocupada por mais tempo. Um programa que continua iniciando novos trabalhos pode então atingir seu limite de conexões, mesmo mantendo a mesma frequência de solicitações. Nesse ponto, acrescentar trabalho paralelo pode aumentar a espera e as falhas sem elevar a quantidade de trabalho concluído por unidade de tempo.
Sites e aplicativos bloqueados
Um provedor pode restringir o acesso a determinados sites, endereços ou operações. Um destino pode constar na lista de bloqueios mesmo quando o tráfego é ilimitado e há capacidade de conexão disponível. O acesso também pode variar entre produtos do mesmo provedor. O artigo sobre sites e aplicativos bloqueados explica como essas listas surgem e o que determina o acesso a um recurso específico.
Uma aplicação pode usar vários destinos: sua página principal pode abrir enquanto uma função separada falha. O site de destino também pode impor suas próprias restrições, mesmo quando o provedor de proxies permite o acesso. Para entender uma falha, identifique primeiro qual recurso está indisponível e qual lado recusou a solicitação.
Portas bloqueadas
O acesso a um site não comprova que todos os serviços de rede no mesmo servidor estão disponíveis. Um provedor pode permitir tráfego web e bloquear uma porta de envio de e-mails. O que importa aqui é a porta de destino solicitada pela aplicação. O artigo sobre portas bloqueadas explica como isso difere da porta usada para se conectar ao próprio proxy.
O suporte ao transporte é outra parte dessa permissão. TCP e UDP são formas diferentes de transportar dados, e o acesso a uma porta TCP com determinado número não comprova o acesso à porta UDP de mesmo número. O transporte necessário deve ser compatível com o produto e permitido por ele. Mais IPs ou uma franquia maior de conexões não suprem a falta de uma permissão.
Volume de dados, velocidade de transferência e contagem de solicitações
Volume de tráfego
O tráfego pode ser ilimitado ou vendido com uma franquia de dados, dependendo do provedor e do produto. Alguns provedores vendem um volume fixo de dados, como um pacote mensal em gigabytes. Nesse tipo de pacote, verifique o prazo de validade, quando a franquia é renovada e se os dados não utilizados são acumulados. Essas regras de contabilização se aplicam a produtos com franquia de dados; elas não são uma condição universal do acesso por proxy.
O tamanho de um resultado salvo não é uma estimativa confiável do tráfego. Extrair um preço ou nome de produto curto pode exigir o download de uma página inteira. O navegador também pode solicitar imagens, scripts e outros arquivos. Novas tentativas podem transferir dados novamente. Medir a aplicação real ajuda a estimar a carga na rede. Se o produto for cobrado pelo volume de tráfego, verifique também quais bytes transferidos o provedor contabiliza.
Velocidade de transferência
Um limite de taxa de transferência controla quanto volume de dados pode passar em uma unidade de tempo. Normalmente, ele é expresso em bits por segundo, como Mbps, ou bytes por segundo, como MB/s. Um byte contém oito bits: 80 Mbps correspondem a 10 MB/s antes da sobrecarga dos protocolos. Essas são unidades de velocidade; uma franquia mensal expressa em GB responde a outra pergunta.
O escopo da velocidade anunciada importa. Uma porta de servidor com determinada velocidade nominal não comprova que cada cliente ou conexão recebe essa taxa. Várias transferências podem compartilhar uma só franquia. A velocidade real também depende da rota, do servidor de destino e da conexão do próprio cliente; portanto, o teto informado pelo provedor não é um resultado garantido para todos os downloads.
O tempo de resposta também importa, além da velocidade de transferência. Um servidor pode fazer a aplicação esperar antes de enviar uma resposta pequena, mesmo quando há ampla capacidade para transferir os bytes. Downloads grandes são mais sensíveis à taxa de transferência sustentada; cargas de trabalho compostas de muitas solicitações curtas podem ser mais afetadas pelos atrasos de resposta e pela frequência de solicitações permitida.
Franquia de solicitações e frequência de solicitações
Uma franquia de solicitações especifica quantas operações contabilizadas estão incluídas. Um limite de frequência de solicitações especifica o intervalo permitido entre os envios. Ter um saldo restante grande não comprova que todo ele pode ser usado em uma única rajada curta. Esses dois limites podem existir de forma independente, inclusive em um produto que não cobra por volume de tráfego.
A operação contabilizada também precisa de uma definição clara. Um clique, uma visita a uma página, uma solicitação HTTP e uma tarefa de coleta de dados concluída são eventos diferentes. Uma visita a uma página pode gerar muitas solicitações HTTP; uma tarefa de API gerenciada pode envolver várias tentativas executadas pelo provedor. Se essas tentativas consomem a franquia do cliente depende das regras de contabilização do produto.
Um limite de frequência também tem uma janela de tempo e regras para rajadas curtas. Dividir um limite por minuto por sessenta fornece uma média, mas não revela como o serviço trata um lote enviado de uma só vez. Distribuir o trabalho permitido ao longo do tempo pode adequá-lo a um limite de frequência sem mudar seu volume total. Isso não restaura uma franquia de solicitações que já foi consumida.
Qual conta, IP ou produto compartilha o limite
Um número só se torna útil quando você sabe o que o compartilha. Um provedor pode aplicar um limite a uma conta, um pedido, um IP de proxy individual, um IP de cliente autorizado ou outro grupo definido. Por exemplo, uma franquia total de taxa de transferência para uma conta é compartilhada pelos programas que a usam. Dar IPs de saída diferentes a esses programas não cria uma franquia separada para cada um.
Vários níveis podem se aplicar ao mesmo tempo. Um serviço pode definir um máximo para cada IP de proxy e um segundo máximo para o pacote inteiro. Distribuir o trabalho entre os IPs pode ajudar com a primeira restrição, mas o total do pacote continua valendo. Um limite associado ao IP público do cliente também pode ser compartilhado por vários dispositivos que acessam a internet por esse endereço.
As regras do produto também importam. Uma conexão direta por proxy, uma API gerenciada de coleta de dados e outra rede vendida pelo mesmo provedor podem ter franquias e permissões diferentes. A unidade contabilizada por uma API pode ser uma tarefa ou um resultado, em vez de uma conexão de rede. Leia os limites do produto que pretende usar, incluindo as configurações aplicadas especificamente à sua conta.
O que acontece quando um limite é atingido
A resposta do serviço depende da regra. Ao atingir um teto de taxa de transferência, os dados podem continuar circulando a uma velocidade limitada. Com um limite de frequência de solicitações, o trabalho excedente pode esperar ou ser rejeitado. Ao atingir um limite de conexões, o serviço pode recusar novas conexões enquanto as existentes continuam utilizáveis. Para produtos com franquia de tráfego ou solicitações, esgotá-la pode exigir renovação ou uma compra adicional; os termos do provedor determinam as opções disponíveis.
Por isso, a palavra “ilimitado” precisa de um complemento: tráfego, solicitações ou conexões ilimitados. Cada um descreve um parâmetro. Um plano com tráfego ilimitado ainda pode ter velocidade de transferência finita e um limite de conexões. Quando o provedor usa condições de uso justo para alterar uma franquia após uso intenso e contínuo, essas condições também fazem parte do plano. A palavra isolada não define o conjunto completo de regras.
Uma mensagem explícita do provedor é mais útil do que uma falha genérica. HTTP 429 significa que o serviço que respondeu considera o número de solicitações alto demais segundo suas regras. Identifique primeiro se a resposta veio do serviço de proxy ou do destino. Um tempo limite excedido pode ter outras causas, como lentidão do destino ou problemas na rede. Estatísticas de uso, detalhes do erro e o horário da tentativa ajudam a distinguir um problema de cota de uma falha em outro ponto.
Reenviar repetidamente o trabalho recusado pode agravar um problema de frequência e consumir franquia adicional. Uma mudança útil atua sobre a condição conhecida: reduzir a frequência de envio, fechar conexões que não são mais necessárias, repor a franquia esgotada ou confirmar a permissão para o destino. Uma mudança geral para um pacote superior só ajuda se alterar aquela condição específica.
Adeque os limites à tarefa completa
Comece pelo resultado necessário e pelo prazo. Como cálculo ilustrativo, suponha que um trabalho precise de 6 000 solicitações HTTP em 30 minutos, com uma resposta média de 0.5 MB. Isso representa uma média de 200 solicitações por minuto e cerca de 3 GB de dados de resposta, usando unidades decimais. A estimativa exclui dados enviados, recursos extras do navegador e novas tentativas. Eles devem ser incluídos se o trabalho real os gerar e o serviço os contabilizar.
Esses totais ainda não determinam a franquia de conexões de que você precisa. Teste a atividade paralela real da aplicação e por quanto tempo as conexões permanecem ocupadas. Inclua outros programas que compartilham o mesmo limite e as rajadas curtas que ocorrem quando trabalhos começam juntos. Meça separadamente o volume de dados, a frequência de solicitações e as conexões simultâneas; um único contador não pode representar os três.
Use o produto e os destinos pretendidos no teste, incluindo as funções da aplicação necessárias para concluir o trabalho. Uma pequena verificação bem-sucedida comprova que uma operação funcionou. Uma execução representativa acrescenta evidências sobre a carga sustentada, os picos e os recursos de que a tarefa completa precisa. Reserve alguma capacidade para a variação observada no teste, em vez de tratar a média como um máximo seguro.
Se um requisito não estiver claro, forneça ao suporte uma descrição concreta: o produto, os hosts de destino, as portas de destino e o transporte, o volume de dados esperado, a frequência de solicitações, o pico de conexões e qualquer erro exato. Isso permite que o provedor verifique a franquia ou permissão relevante. O resultado de que você precisa é a correspondência entre os limites declarados do serviço e a carga de trabalho que pretende executar.
