Hola a todos, este es mi primer post ya que me ha surgido una problema con una aplicación, y he pensado: "Seguro que en el Hacker.net hay alguien que sepa de este tema"; y eso he hecho, así que, os comento.
Tengo una problema de comunicaciones y me gustaría saber si alguien pudiera saber a que se debe.
Os pongo en situación:
Tengo dos máquinas, servidor y cliente y un switch. El cliente pide archivos por UDP al servidor (a través el switch),
y el servidor le responde por UDP multicast (también por el switch); el motivo del multicast es que en el futuro se
aumentaría el numero de clientes en la red.
Hasta aquí todo correcto, el sistema cliente - servidor funciona; ¿problema? Pues que cuando el servidor envía muchos
archivos (tanto que la red se establece al máximo de 1gb/s) al ratito (menos de 5 minutos) el cliente, por causa desconocida que
me gustaría saber, deja de recibir tal cantidad de archivos y empieza a recibirlos muy lentamente. Por tanto,
como esos archivos no le están llegando al cliente con suficiente rapidez, éste, los sigue pidiendo al servidor y el
servidor sigue reenviando los mismos archivos a la misma velocidad que siempre (solo que le llega una pequeñisima parte) por
lo que entra en un bucle casi infinito.
Las pruebas que he estado haciendo he descartado:
-No es problema de hilos.
-No es la aplicacion que se congela, no se ve afectada por la velocidad.
-No hay problema de cpu.
-No hay firewall, con red cerrada y sin internet.
-Siguen llegando paquetes, pero despacio.
-Si el servidor se para (deja de enviar paquetes), y espero algunos unos segundos vuelve a recibir como al principo (al maximo de la red).
-El administrador de tareas muestra como que sigue recibiendo a 1gb/s (incluso cuando los paquetes le llegan muy lento), es un tanto extraño porque si le llegan lentamente en la gráfica del administrador de tareas se debería de haber reflejado.
Parece ser como si se saturara los paquetes y no llegara al cliente (por lo que el switch no parece ser el culpable).
Por ahora estoy haciendo pruebas de estrés ya que en circusntancias normales funciona perfectamente, pero como
en el futuro habrá varios clientes, es un intento de simular lo que podría pasar en condiciones extremas.
¿Por qué ocurre esto? ¿Por qué el cliente por causa desconocida empieza a recibir menos?
A mi parecer creo que windows o la propia tarjeta de red está frenando o evitando que llegue tal cantidad de
archivos.
¿Alguien tiene alguna idea?
Gracias de antemano. Saludos!