Estou tentando fazer um teste de iperf da minha máquina 192.168.1.50 para outra máquina 192.168.1.220. O teste a seguir apresentará o erro "erro - tamanho do buffer de soquete não definido corretamente":
iperf3 -c 192.168.1.220 -w 512K
Este comando funcionará quando -w for definido como 416k, qualquer coisa maior e esse erro for exibido. Fiz uma pequena pesquisa e pensei que fosse devido à janela de sessão tcp ser muito pequena, mas não parece ser o caso.
Estes são alguns dos valores sysctl:
net.core.rmem_max = 16777216
net.core.rmem_default = 212992
net.core.wmem_max = 212992
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 16384 16777216
No entanto, sou capaz de fazer este teste com sucesso na outra direção. Então eu acredito que isso tenha a ver com algum tipo de configuração nesta máquina, que eu não sei o que pode ser.
Qualquer ajuda será apreciada sobre isso.
Obrigado!
Versão do iperf3:
iperf 3.1.7
Linux 3450asterisk 3.10.0-123.9.3.el7.x86_64 # 1 SMP Qui. 6 de novembro 15:06:03 UTC 2014 x86_64
Recursos opcionais disponíveis: configuração de afinidade de CPU, rótulo de fluxo IPv6, configuração de algoritmo de congestionamento TCP, sendfile / zerocopy, ritmo de soquete
Hardware:
NIC integrado, 8 GB de RAM, Xeon E3-1271
Comportamento esperado
iperf deve ser capaz de lidar com esse tamanho de janela
Comportamento Real
iperf gera um erro quando o tamanho da janela é maior que 416k
Achei que tinha escrito uma resposta a isso, mas aparentemente não escrevi.
Você pode querer tentar aumentar o tamanho de net.core.wmem_max
, que ainda parece ter um valor bastante baixo / padrão.
Algumas outras dicas sobre como ajustar um kernel Linux (que abrange a configuração dos tamanhos de buffer de soquete) podem ser encontradas aqui:
http://fasterdata.es.net/host-tuning/linux/
Finalmente, você pode querer considerar o uso de uma versão mais recente do iperf3 (iperf 3.6 é o atual até o momento desta escrita). Se bem me lembro, algumas versões mais recentes têm algumas correções no código de configuração do buffer de soquete, embora de improviso, eu me lembro se elas são diretamente aplicáveis a este problema.
Boa leitura, obrigado.
Fechando este problema porque acho que a questão foi resolvida.
Comentários muito úteis
Achei que tinha escrito uma resposta a isso, mas aparentemente não escrevi.
Você pode querer tentar aumentar o tamanho de
net.core.wmem_max
, que ainda parece ter um valor bastante baixo / padrão.Algumas outras dicas sobre como ajustar um kernel Linux (que abrange a configuração dos tamanhos de buffer de soquete) podem ser encontradas aqui:
http://fasterdata.es.net/host-tuning/linux/
Finalmente, você pode querer considerar o uso de uma versão mais recente do iperf3 (iperf 3.6 é o atual até o momento desta escrita). Se bem me lembro, algumas versões mais recentes têm algumas correções no código de configuração do buffer de soquete, embora de improviso, eu me lembro se elas são diretamente aplicáveis a este problema.