Inconsistente entrega de pacotes por NIC NIC de medição de desempenho
-
22-09-2019 - |
Pergunta
Um de nossos clientes experiências problema com o nosso aplicativo de streaming (win32).Parece que o UDP (RTP) de pacotes que devem ser enviados pelo aplicativo com algum intervalo constante (digamos 20 ms), na verdade, são enviadas com muito variável de deltas (diga-se de 15ms - 25ms - 10ms - 30 ms).Este é o único cliente que experimenta o problema para placa de rede ou outro sistema de rede relacionados a infra-estrutura é o nosso primordial suspeito.
A questão é que tipo de configuração de rede pode apresentar tal problema (AV?,QOS?)
E como posso medir o tempo entre a realmente chamar de "enviar" função e o momento em que o pacote foi entregue para a rede?Existe alguma ferramenta disponível para isso.
Solução 3
Galera o problema era, na verdade, as funções de temporização do windows fato de turno que Sono() pode ter resolução de mais de 15 ms.a menos que você é programtically definido como um 1ms.Portanto, nenhuma relação com o que o' para sempre a NIC.
Outras dicas
Eu suspeito qualquer problema de rede pode causar este problema.
Não há nenhum conceito de QoS (qualidade de serviço) com base UDP (até o ponto que você pode perder pacotes, ter duplicatas, etc.).A sua placa de rede para a fila de pacotes para escrever para a rede e, portanto, você não pode garantir entregas, desde a fila até pacotes de aplicativos diferentes.
Os roteadores podem priorizar o bem, e que vai afetar a regularidade destes pacotes.
EDITAR:Você já apontou o local NIC, então a re.os roteadores não se aplica nesta situação.
Em suma, não há razão para esperar que o acima é algo diferente do que aceitável.
Se você está dizendo que você está medindo diretamente na placa de rede do computador, na verdade, gerar os pacotes (por exemplo,assim, pode-desconto em toda a rede de influências), em seguida, uma possível causa é a carga no computador em si.
Se existem muitas aplicações em execução no computador, especialmente interativo e queridos, com um forte interação do usuário viés (que tendem a prioridade da maioria dos programadores), então você pode achar que seu aplicativo de criação de mensagens é simplesmente encontrando dificuldade para competir para o tempo que ele precisa.
Mesmo se todos os computadores cliente têm o mesmo software carregado, de quais aplicações eles são, na verdade, executando e o que eles estão fazendo com eles podem ter uma influência.