Capacidades teóricas de ancho de banda [cerrado]


0

Siempre me preguntan esto por clientes potenciales y reales: ¿cuántas secuencias puedo correr simultáneamente?

Siempre explico que es maxServerUpstreamBandwidth / (streamDownstreamBandwidth * numberOfStreams) teóricamente hablando. En toda la actualidad, probablemente será menos.

Sin embargo, en escenarios del mundo real, parece ser diferente; parece que estamos recibiendo Más clientes de lo que es teóricamente posible. .

Por ejemplo, si tengo un flujo de 1 megabit por segundo publicado en un servidor con una línea de 100 megabit por segundo, teóricamente , Debería poder tener 100 clientes que vean esa transmisión a 1 megabits por segundo cada uno. Esto es una locura, 1 servidor solo sirve a 100 clientes!?!? Entonces llegué a la conclusión de que debía estar haciendo las matemáticas mal.

¿Que me estoy perdiendo aqui?


Estoy un poco confundido sobre dónde entraría numberOfClients. En mi mente, numStreams = serverBandwidth / avgStreamBandWidth.
digitxp

Eso es lo que quiero decir, lo siento, lo editaré.
Naftuli Kay

1
Supongo que es el resultado de que los clientes son más lentos de lo que cabría esperar. Una tonelada más lenta.
digitxp

4
No especificó qué es exactamente una "transmisión", por ejemplo, qué protocolo está utilizando y en qué tipo de red está distribuyendo. Hay algo que se llama multiplexación estadística en el que se puede usar una tubería para servir a más canales de los que puede en teoría si no todos los canales transmiten al mismo tiempo. Casi todas las redes IP se basan en esto. Alternativamente, podría estar usando algo como el multi-casting.
billc.cn

protocolo: RTMP sobre TCP a través de Wowza.
Naftuli Kay

Respuestas:


1

Hay tres factores que veo que te permitirán transmitir más transmisiones que tu número teórico:

  1. Hay menos datos transmitidos de lo que crees. Un flujo generalmente consiste en datos comprimidos, y algunos datos se comprimen más que otros. Entonces, cuando dices que es un flujo de 1 megabit, eso puede ocurrir con la compresión en el peor de los casos (¿o tal vez tu número de 1 megabit no está comprimido?). Esto naturalmente será explosivo, ya que el flujo de datos cambia con el tiempo y la relación de compresión cambiará. Otros factores, como los flujos en pausa, también pueden reducir la velocidad real.
  2. Los clientes tienen cuellos de botella. Incluso si su servidor tiene una línea de 100 megabits, el cliente puede tener una conexión a internet lenta (por ejemplo, una conexión wi-fi compartida en una cafetería).
  3. Protocolo de regulación automática. No sé sobre su configuración, pero muchos protocolos de transmisión ajustarán automáticamente la velocidad de transmisión cuando el ancho de banda sea limitado. Entonces, (usando su ejemplo) incluso si solo puede manejar 100 flujos a 1 megabit, el sistema puede manejar más clientes porque cae automáticamente a 0.5 megabit cuando 20 clientes están conectados.

Esta respuesta no le ayuda con sus cálculos matemáticos (¡no hay números concretos!), Pero puede ser una munición al describir la situación a sus clientes.


0

Parece una tontería pensar que todo el mundo va al ritmo máximo todo el tiempo, y si otro usuario desea abrir una secuencia, el servidor no lo permite. Simplemente ralentiza a todos, creando el nuevo ancho de banda.


0

También está lidiando con la sobrecarga y otros protocolos y flujos de la competencia en esa misma tubería.

En su ejemplo teórico, se trata de un entorno perfecto en el que no hay otras solicitudes que utilicen ese tubo de 100 Mbps. En la práctica real nunca experimentarás esto. Esa conexión de 100 Mbps está alojando todo tipo de protocolos de chat entre esos cientos de computadoras cliente.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.