A causa mais comum de variação significativa do tempo de ping no Wi-Fi não é realmente a interferência (incluindo um meio RF ocupado), mas o modo de economia de energia 802.11.
Os clientes sem fio economizam energia adormecendo seus receptores de rádio entre pacotes (ou entre rajadas de pacotes). Uma vez que um cliente dorme seu receptor, ele não o acorde novamente até que ele tenha outro pacote para enviar, ou até que pelo menos o próximo quadro de beacon seja enviado pelo AP (às vezes os clientes irão dormir por mais de um intervalo de beacon) ). A maioria dos APs envia padrão de beacons uma vez a cada 100 Kiµsec (microssegundos de 100 Kibi ( Ki baixo Bi nary) = 102400 µsec = 102,4 ms = um pouco menos frequente do que 10 beacons por segundo), então um cliente que goste de dormir pelo resto do intervalo de beacon atual adicionará 51.2 ms de latência, em média, a qualquer ping de uma vez por segundo.
Além disso, um cliente normalmente manterá seu receptor acordado por um breve momento após uma transmissão ou recepção de pacote, a fim de ver se está no meio de uma explosão que faria com que valesse a pena manter o receptor acordado.
Acho que se analisarmos o intervalo de sinalização do seu AP e a estratégia de economia de energia do cliente 802.11, é possível explicar a variação do tempo de ping pela forma como os diferentes pings de uma vez por segundo se alinharam com o tempo do sinalizador da sua rede. Por exemplo, talvez o ping em uma janela tenha se alinhado de tal forma que a solicitação de ping saiu apenas algumas ms antes do beacon, então o cliente acordou para a resposta apenas 2-3ms depois; enquanto o pedido de ping da outra janela saiu logo após o sinalizador, então o cliente já estava dormindo quando a resposta do ping chegou ao AP, então o AP teve que enfileirar o cliente para a próxima vez que o cliente estava acordado, o que pode ser um ou dois faróis depois.
Existem duas maneiras fáceis de testar essa teoria. Qualquer um desses deve funcionar:
-
Reduza o intervalo de ping para um décimo de segundo em vez do padrão de um segundo completo, para que você tenha um ping em cada intervalo de sinal. Isso manterá a maioria dos receptores acordados o tempo todo.
ping -i 0.1 192.168.0.1
-
Ajuste as propriedades avançadas do seu driver 802.11 para desabilitar o modo de economia de energia 802.11.