Estou procurando desativar o mecanismo de início lento do TCP para rede de alta velocidade. Atualmente os clientes enviam fluxos de 100 MB para servidores aleatórios com link de 1 Gbps sem bloqueio. Na minha matemática, o tempo de conclusão dos fluxos é inferior a 1 segundo.
Mas o problema é que eles não conseguem atingir a largura de banda completa do link. Em outras palavras, eles terminam na fase de início lento antes de obter uma largura de banda completa do link. Portanto, quero aumentar o tamanho da janela de congestionamento do TCP ao máximo.
Existe alguém que saiba como posso alterar esse valor facilmente sem modificar o kernel?
Obrigado ~
Responder1
Nas versões mais antigas do kernel Linux, o valor inicial da janela de congestionamento ( initcwnd
) era tão baixo quanto 2 (2*MSS, ou cerca de 3 KB), e desde 3.0 o novo padrão é 10 (cerca de 14 KB).
Desde que o seu kernel Linux não seja muito antigo, você pode aumentar a janela inicial de congestionamento usando o comando ip
, algo como isto:
Obtenha informações de rota padrão atuais:
$ ip route | grep default
default via 192.168.1.1 dev eth0 proto static
Atribua um novo initcwnd
valor a esta rota:
$ sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10
Isso aumenta a janela de congestionamento inicial padrão para um valor mais alto de 10*MSS (~14KB). Você pode querer jogar com valores maiores que isso, provavelmente tão altos quanto 40.
Para mais informações, leiaproposta original do Google para aumentar o initcwnde tambémEste artigo.