Estoy tratando de hacer una prueba de iperf desde mi máquina 192.168.1.50 a otra máquina 192.168.1.220. La siguiente prueba arrojará el error "error: el tamaño del búfer del socket no está configurado correctamente":
iperf3 -c 192.168.1.220 -w 512K
Este comando funcionará cuando -w se establezca en 416k, cualquier valor superior y se muestre ese error. Hice un poco de búsqueda y pensé que se debía a que la ventana de mi sesión tcp era demasiado pequeña, pero no parece ser el caso.
Estos son algunos de los valores de 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
Sin embargo, puedo hacer esta prueba con éxito en la otra dirección. Entonces creo que esto tiene que ver con algún tipo de configuración en esta máquina, que no sé cuál puede ser.
Cualquier ayuda será apreciada en esto.
¡Gracias!
Versión de iperf3:
iperf 3.1.7
Linux 3450asterisk 3.10.0-123.9.3.el7.x86_64 # 1 SMP Jue 6 de noviembre 15:06:03 UTC 2014 x86_64
Funciones opcionales disponibles: configuración de afinidad de CPU, etiqueta de flujo de IPv6, configuración de algoritmo de congestión TCP, envío de archivo / copia cero, ritmo de socket
Hardware:
NIC integrado, 8 GB de RAM, Xeon E3-1271
Comportamiento esperado
iperf debería poder manejar ese tamaño de ventana
Comportamiento real
iperf arroja un error cuando el tamaño de la ventana es superior a 416k
Pensé que había escrito una respuesta a esto, pero aparentemente no lo hice.
Es posible que desee intentar aumentar el tamaño de net.core.wmem_max
, que todavía parece tener un valor predeterminado bastante bajo.
Algunos otros consejos sobre cómo ajustar un kernel de Linux (que cubre la configuración de los tamaños de búfer de socket) se pueden encontrar aquí:
http://fasterdata.es.net/host-tuning/linux/
Por último, es posible que desee considerar el uso de una versión más reciente de iperf3 (iperf 3.6 está vigente en el momento de escribir este artículo). Si mal no recuerdo, algunas versiones más nuevas tienen algunas correcciones en el código de configuración del búfer de socket, aunque de manera imprevista, recuerdo si son directamente aplicables a este problema.
Esa es una buena lectura, gracias.
Cerrando este tema ya que creo que se resolvió la pregunta.
Comentario más útil
Pensé que había escrito una respuesta a esto, pero aparentemente no lo hice.
Es posible que desee intentar aumentar el tamaño de
net.core.wmem_max
, que todavía parece tener un valor predeterminado bastante bajo.Algunos otros consejos sobre cómo ajustar un kernel de Linux (que cubre la configuración de los tamaños de búfer de socket) se pueden encontrar aquí:
http://fasterdata.es.net/host-tuning/linux/
Por último, es posible que desee considerar el uso de una versión más reciente de iperf3 (iperf 3.6 está vigente en el momento de escribir este artículo). Si mal no recuerdo, algunas versiones más nuevas tienen algunas correcciones en el código de configuración del búfer de socket, aunque de manera imprevista, recuerdo si son directamente aplicables a este problema.