Estoy buscando ayuda con lo que estoy seguro es una pregunta antigua. Me he encontrado en una situación de anhelo de comprender el rendimiento de la red más claramente, pero parece que no puedo encontrar información que lo haga "hacer clic"
Tenemos algunos servidores distribuidos geográficamente, ejecutando varias versiones de Windows. Suponiendo que siempre usemos un host (un escritorio) como fuente, al copiar datos de ese host a otros servidores en todo el país, vemos una gran variación en la velocidad. En algunos casos, podemos copiar datos a 12 MB / s de manera consistente, en otros, estamos viendo 0.8 MB / s. Cabe señalar que, después de probar 8 destinos, siempre parecemos estar a 0.6-0.8MB / so 11-12 MB / s. En el edificio que nos interesa principalmente, tenemos una conexión OC-3 a nuestro ISP.
Sé que hay muchas variables en juego, pero supongo que esperaba que los expertos aquí pudieran ayudarme a responder algunas preguntas básicas para ayudar a reforzar mi comprensión.
1.) Para máquinas más antiguas, que ejecutan Windows XP, servidor 2003, etc., con una tarjeta Ethernet de 100 Mbps y una latencia típica de 72 ms, ¿suena razonable 0,8 MB / s? ¿O crees que es lo suficientemente lento como para indicar un problema?
2.) La clásica "velocidad matemática más rápida" de "rendimiento = ventana TCP / latencia" se calcula, en nuestro caso, a 0,8 MB / s (64 Kb / 72 ms). Entiendo que es un límite superior; que nunca esperarías alcanzar (debido a la sobrecarga) y mucho menos superar esa velocidad. Sin embargo, en algunos casos, estamos viendo velocidades de 12.3 MB / s. Hay aceleradores Steelhead dispersos por la red, ¿podrían explicar una tasa de transferencia tan alta?
3.) Se ha sugerido que el uso de SMB vs. SMB2 podría explicar las diferencias de velocidad. De hecho, como era de esperar, las capturas de paquetes muestran que ambas se utilizan según las versiones del sistema operativo en juego, como era de esperar. Entiendo lo que determina que SMB2 se use o no, pero tengo curiosidad por saber qué tipo de ganancia de rendimiento puede esperar con SMB2.
Mi problema simplemente parece ser la falta de experiencia y, lo que es más importante, la perspectiva, en términos de lo que son y no son velocidades de red razonables. ¿Alguien podría ayudar a impartir contexto / perspectiva?
Respuestas:
La fórmula matemática a la que se refiere es en realidad la forma de determinar la configuración de tamaño de ventana de transmisión más eficiente para TCP, no el ancho de banda real disponible. TCP utiliza un mecanismo llamado ventanas deslizantes que permite el ajuste de las velocidades de transmisión en función de las condiciones de la red. La idea es que un transmisor TCP envíe más y más datos sin requerir un acuse de recibo del receptor. Si hay una pérdida de datos, la cantidad de datos enviados entre confirmaciones disminuye, lo que también disminuye el ancho de banda efectivo.
La fórmula en cuestión en realidad determina el tamaño ideal de esa ventana de transmisión TCP en función de la latencia y la latencia de ida y vuelta entre un par determinado de hosts. La idea es tener un tamaño de ventana tal que la cantidad de datos 'en vuelo' corresponda a lo que se conoce como el producto de retraso de ancho de banda. Por ejemplo, si tiene 50 megabits por segundo (6.25 megaBYTES) y una latencia promedio de ida y vuelta de 100 ms, entonces tendría 6.25 * 0.1 = 625 kilobytes de datos. Este sería el valor que negociaría TCP (si está configurado correctamente). Como las características de latencia y ancho de banda de sus enlaces varían, también lo hace el tamaño de la ventana.
Lo que necesita es una herramienta de administración de ancho de banda como iperf (gratuita) que se ejecute tanto en el origen como en sus diversos destinos. Esto debería darle una idea de la cantidad real de rendimiento posible (independiente de otras aplicaciones) al tiempo que proporciona una idea de la latencia. Ejecutar un ping extendido entre hosts también proporcionará una idea general de las características de latencia. Cuando tenga estos datos, tendrá una mejor idea de lo que debería ver en lo que respecta al rendimiento.
Por cierto, el uso de cualquier tipo de optimizador de LAN a menudo incorporará compresión de datos, optimización de TCP, almacenamiento en caché, etc. Aunque es útil, puede ocultar la naturaleza de los enlaces subyacentes. Una vez que tenga una idea del ancho de banda / retraso sin procesar (y la pérdida de paquetes, potencialmente), puede mirar más de cerca para asegurarse de que sus diversos hosts estén configurados para aprovechar adecuadamente el ancho de banda disponible.
fuente
Intente "ping -l 8092" o FTP o HTTP para verificar si es un problema SMB.
En primer lugar: ¿qué medios utilizas para conectar computadoras? ¿Qué somos "100mpbs"? Ethernet? No se puede usar para computadoras "distribuidas geográficamente", ¿verdad?
En el caso de "vpn a través de Internet", los enrutadores entre sus computadoras pueden usar diferentes enlaces: uno es rápido y el otro no. Pueden elegir enlaces basados en muchos parámetros.
Por favor describa su red.
Eso también podría ser un problema de MTU: varios enlaces pueden tener MTU diferentes.
fuente
Muchos comentarios y usuarios han ofrecido excelentes consejos aquí. Algunos de ellos se acercaron bastante a lo que estaba buscando, pero también tuve la suerte de reunirme con un veterano de la red de nuestra compañía que me ayudó a aclarar las cosas. Pensé que publicaría mis hallazgos / entendimientos aquí para el beneficio de los demás. Por favor, siéntase libre de corregirme si algo de esto parece fuera de lugar:
1.) El rendimiento máximo de una sola sesión TCP con latencia de 72 ms y una ventana de 64K es de alrededor de 0.8 MB / s, lo que hace que esa velocidad sea razonable para copias de sesión única, de un solo hilo, como las que realizamos con robocopy.
2.) Esta diferencia de velocidad parece reducirse a la efectividad del método de transferencia. En nuestro caso, estábamos usando Robocopy y Repliweb. Descubrí que robocopy utiliza una única sesión TCP, mientras que Repliweb puede abrir varias sesiones para enviar datos.
3.) La investigación del sitio web de Microsoft muestra que SMB2 tiene una ganancia de rendimiento considerable sobre SMB1. Sin embargo, ha habido problemas en algunos casos en la forma en que el sistema operativo negocia qué protocolo usar, por lo que uno debe saber tanto a.) Qué casos se pueden usar SMB2 como b.) Si SMB2 se está utilizando realmente o no en capturas de red.
Actualmente, parece que Wire-shark puede determinar el uso del protocolo SMB2.
Espero que esto ayude. Nuevamente, mi comprensión es bastante rudimentaria aquí, siéntase libre de expandirse.
fuente