Um router anuncia Wi-Fi rápido e depois tem dificuldade para cifrar o tráfego de três dispositivos ao mesmo tempo. Um portátil atinge um limite de processamento enquanto o link de acesso ainda tem folga. Normalmente culpa-se o servidor primeiro, e normalmente ele é inocente. O limite está na máquina que faz o trabalho do túnel, e encontrá-lo significa observar essa máquina em vez do teste de velocidade.

O sintoma aponta para uma máquina, não para a internet

Onde o túnel roda decide qual processador paga por ele. Se o router o termina, cada cliente coberto divide o orçamento desse router. Se o portátil roda um cliente, o portátil paga e o router não. Túneis nas duas pontas criam duas cargas de trabalho que podem ser o limite em dias diferentes. Nomear a máquina é o primeiro passo, e é o passo que as pessoas pulam quando abrem um ticket contra o provedor.

Conte os dispositivos entre a aplicação e a ponta remota e depois marque o que cifra. Todo o resto é apenas um transportador de bytes que não consegue ler.

Observe a carga por núcleo durante uma transferência

Uma percentagem total de CPU é o instrumento errado, porque o trabalho de cifragem costuma prender um único núcleo enquanto os demais ficam ociosos. Olhe os valores por núcleo durante uma transferência controlada e procure um núcleo perto da saturação. Uma média moderada com uma thread ocupada é um sinal forte, enquanto uma média alta sem thread ocupada normalmente significa um programa não relacionado. O padrão importa mais que o número.

mpstat -P ALL 1 5
top -H -b -n 1 | head -20
lscpu | grep -i -E "model name|aes"

O terceiro comando diz se o processador expõe instruções AES, o que muda o custo do mesmo cifrador numa margem ampla. Ele não diz se a implementação VPN as usa, e a lacuna entre esses dois fatos é a origem da maioria das promessas de otimização.

Separe a cifragem do tratamento de pacotes

A cifragem é um custo entre vários. Copiar pacotes entre o kernel e o espaço do usuário, as buscas de roteamento, as regras de firewall e o tratamento de interfaces contribuem todos, e algumas implementações pagam mais pela cópia do que pela criptografia. Note qual contador sobe junto com a transferência em vez de confiar no nome do processo para explicar cada ciclo. Um túnel em espaço de usuário e um túnel no kernel podem mostrar perfis completamente diferentes para tráfego idêntico.

Se um núcleo está ocupado dentro do kernel, a solução difere de uma thread ocupada no espaço do usuário, e o perfil diz qual você tem. Essa distinção vale uma hora antes de comprar hardware.

Compare o semelhante com o semelhante antes de concluir

Uma comparação só é útil se a tarefa, a rede de acesso e o endpoint permanecerem iguais. Troque o servidor e o resultado inclui a rota e a capacidade desse servidor; troque a rede e inclui a operadora. Use o mesmo arquivo, o mesmo destino e a mesma hora do dia, e pause seu próprio trabalho em segundo plano. Se precisar trocar o dispositivo, troque apenas o dispositivo.

Alimentação e calor alteram o desempenho sustentado, então uma execução curta numa máquina fria não é a mesma medição que uma transferência longa numa máquina quente. Compare condições de alimentação semelhantes e anote-as, porque um limite térmico parece exatamente um limite de processamento num gráfico.

Use o offload suportado e verifique se ele realmente ativou

Algumas implementações podem mover parte do caminho de dados para o kernel ou para o hardware, e a disponibilidade depende do cliente, do sistema operacional, do servidor e da configuração. Leia a documentação da versão que você executa e use a saída de status ou os logs dela para confirmar que o recurso está ativo. Um pacote instalado ou uma caixa marcada não são prova. O manual do OpenVPN documenta opções do canal de dados para suas próprias versões, e essas opções diferem entre versões.

Quando uma mudança suportada desloca o teto, refaça tanto a tarefa da aplicação quanto uma transferência em massa, e guarde o perfil anterior para poder reverter. Uma taxa em massa que dobra enquanto a aplicação continua lenta deslocou o gargalo em vez de removê-lo.

Se as observações do processador não seguem o sintoma, volte para o lado da rede. Repetições de Wi-Fi, fila e caminho de saída produzem o mesmo resultado sem qualquer participação da CPU.

Artigos relacionados