servidores puerto protocolos protocolo internet gratuitos ejemplos definicion algorithm http ftp communication

algorithm - puerto - servidores ftp gratuitos



Elección del tamaño del búfer para las transferencias FTP y HTTP (2)

¿Cómo se elige el tamaño de un búfer (bytes que leo o escribe en el socket) para obtener el máximo rendimiento cuando se implementa una transferencia HTTP y FTP de bajo nivel? Mi aplicación debe transferir datos con HTTP o FTP en conexiones que varían de 130 Kbps a 3 Mbps (conozco la velocidad esperada de antemano). A veces es una transferencia de una sola dirección, a veces va en ambas direcciones. ¿Debo seguir con un tamaño promedio de buffer o debo variarlo dependiendo de la velocidad de conexión?

Gracias.


Elija un tamaño de búfer de más de 8 KB. El 9000 suele ser el tamaño más grande de MTU (unidad de transmisión máxima) utilizado incluso en las redes más rápidas.

Cuando utiliza un búfer más grande que la MTU de la conexión, el sistema operativo lo dividirá en piezas del tamaño de MTU según sea necesario, y por lo tanto cualquier cosa que use sobre la MTU tendrá un efecto pequeño en el rendimiento de la red.

Sin embargo, usar un búfer grande probablemente tendrá otro efecto en el rendimiento, si está transfiriendo archivos, entonces el uso de búferes grandes puede aumentar el rendimiento de lectura, mejorando así la velocidad de su aplicación.

Entonces, por lo general, elegir un buen número redondo como 16 KB es una buena idea. Definitivamente no entre menos de 1500, ya que esto puede afectar negativamente el rendimiento de la red (haciendo que el sistema operativo algunas veces envíe paquetes pequeños, lo que disminuye el rendimiento en la red).


Primero, obtenga algunas medidas.

Luego, después de tener una medición de rendimiento confiable, realice cambios en el tamaño de su búfer y trace un gráfico de velocidad frente al tamaño del búfer.

Como conoce las velocidades de conexión por adelantado, debería poder obtener algunas medidas de las velocidades reales con diferentes tamaños reales de búfer.

El sistema operativo, la pila de protocolos y la red son demasiado complejos para encontrar una respuesta desde los primeros principios. Debes medir antes de hacer cualquier cosa.