Eu suspeito que o problema é algo inerente ao Windows 7 (e provavelmente outras variações também). Exatamente o que é, eu não sei, mas talvez isso possa lançar alguma luz sobre o assunto.
Eu peguei uma novíssima máquina Windows 7 Pro de 64 bits, construída do zero com absolutamente nenhum aplicativo adicionado. Nem mesmo software anti-vírus. O Hardware é um CPU i7-6700 em uma placa-mãe Asus H270. Um disco rígido e 16 GB de RAM.
Desativei a sincronização automática de horário na Internet. e desligou a verificação periódica para atualizações.
Eu instalei o git-bash (git para Windows), então eu teria um shell bash. Eu escrevi um script que fez um post http para um servidor que é garantido para responder dentro de 31.25 ms para esse post. Se você publicar uma postagem imediatamente após receber uma resposta para a postagem anterior, levará cerca de 31 ms para obter a próxima postagem. O script programou os intervalos entre as postagens em execução em um loop forçado.
Se o cliente estiver em execução sem atrasos, espera-se que o intervalo médio seja de 31 ms. Se houver atrasos de tempos em tempos que podem se estender até 40 ms ou mais, e então "pegar" na próxima postagem com um intervalo de cerca de 20 ms. De fato, usando o mesmo script bash em uma máquina CentOS 7 (com uma CPU muito mais lenta e apenas 2 núcleos) eu medi uma média de 31 ms, um mínimo de 13 e um máximo de 49 durante várias horas de operação.
Mas usando uma máquina Windows (como descrito acima) como o cliente, o mínimo foi de 31 ms, a média de 59 ms e o máximo de 1092 ms. Cerca de uma ou duas vezes por hora (talvez mais?) O sistema Windows iria "desaparecer" por cerca de um segundo. (Não apenas isso, mas o sistema Windows não conseguia acompanhar a taxa total de 32 Hz que o servidor pode fornecer.)
Eu acho que é algo com que precisamos conviver!