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?
fuente
numStreams = serverBandwidth / avgStreamBandWidth
.Respuestas:
Hay tres factores que veo que te permitirán transmitir más transmisiones que tu número teórico:
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.
fuente
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.
fuente
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.
fuente