Eu experimentei um dataloss significativo com o iPerf no modo UDP como resultado da CPU não conseguir acompanhar. Por alguma razão, o iPerf com UDP parece consumir muito mais CPU do que o iPerf com TCP. Você experimenta as mesmas porcentagens de perda ao configurar o iPerf para metade da taxa?
Para responder à sua segunda pergunta sobre quanta perda de pacotes é aceitável, depende realmente de qual aplicativo você está executando, de quanto tráfego possui. Realmente, não deve haver perda se você estiver abaixo do seu limite de largura de banda. Para a maioria das coisas, eu provavelmente não reclamaria muito de 0,25%, mas ainda há muita perda se você estiver executando a taxas realmente altas.
[EDIT 1] Alguns outros pensamentos que tive sobre o assunto:
- Tente aumentar as taxas do iPerf. Se houver um problema sistêmico em algum lugar, é provável que você experimente a mesma porcentagem de perda, independentemente da taxa. Se você estiver nos limites do seu hardware ou o seu provedor fizer algum tipo de RED , provavelmente não haverá perdas até uma determinada taxa e, em seguida, perdas incrementalmente piores, quanto mais alto você for.
- Faça sua medição tcpdump da sessão do iPerf, apenas para verificar se seus testes são precisos.
- Experimente o iPerf com TCP. Isso não informará perda, mas se você estiver tendo perda, a conexão não poderá aumentar muito. Como a latência também afetará isso, teste um terminal com a menor latência possível.
- Dependendo do equipamento que você possui na parte interna da sua conexão, verifique se está o mais próximo possível. Por exemplo, se você tiver vários comutadores entre o sistema de teste e o roteador de borda, vá para um comutador diretamente conectado.
- Se você possui um switch gerenciado, verifique as estatísticas nele para garantir que a perda não ocorra lá. Eu encontrei alguns switches mais baratos que começam a cair quando você chega perto de 100 Mbps de tráfego UDP neles (na maioria dos casos, switches antigos e baratos não gerenciados).
- Experimente iPerfs simultâneos de dois clientes diferentes para dois hosts diferentes, para ter certeza de que o limite não é resultado da CPU ou de uma placa de rede local barata.