Como la mayoría de los problemas de rendimiento, es complicado. La cantidad de ancho de banda que obtiene cada tarea es una interacción compleja entre muchas cosas, en diferentes capas de la pila de red. Incluso sin moldear. Una lista incompleta:
- Programador de CPU para cuando las tareas (y los controladores de interrupción del controlador) pueden entrar en la CPU
- La rapidez con la que las tareas obtienen sus datos, posiblemente limitada por cuellos de botella o contención
- Qué disciplina de cola está en uso, esencialmente un programador de paquetes
- Detalles del controlador, como la cantidad de colas de transmisión de hardware y cómo seleccionan los flujos
- Comportamiento del protocolo TCP, si un flujo alcanza el control de congestión, puede permanecer lento mientras el ancho de banda es limitado
- Todas las consideraciones anteriores para los sistemas remotos que reciben los flujos
- Si todas sus conexiones no van al mismo destinatario, el otro el final posiblemente tenga más impacto que tu fin
Muchos de estos no están optimizados para la "equidad" de ancho de banda igual, sino otros criterios. El control de congestión de TCP preferiría tener un poco de buen rendimiento en lugar de sufrir un colapso congestivo.
Y no olvides, también, que eres probablemente no es el único de la red en un momento dado, por lo que también debe tener en cuenta los enrutadores, conmutadores, etc. entre "aquí" y "allá".
Si esto es más que una curiosidad, una solución lo más rápido posible es obtener más ancho de banda.
O bien, hacer QoS, dar forma o limitar las aplicaciones puede establecer cuotas para un mejor comportamiento general, sea cual sea el mejor medio. Pero esto ya no es lo más rápido posible, tú eliges a los ganadores y perdedores por política.