Lo que dice Wikipedia de la latencia:
En redes informáticas de datos se denomina latencia a la suma de retardos temporales dentro de una red. Un retardo es producido por la demora en la propagación y transmisión de paquetes dentro de la red.
En la era de las aplicaciones para internet hay que tener muy encuenta como la latencia puede ser nuestro enemigo.
Hasta hace poco tiempo el problema de una aplicación era el ancho de banda, que consiste en la cantidad de datos que podían viajar por segundo ( 1 Mb/s , 10 Mb/s ). Con el tiempo, en general, las conexiones ya permiten transmisiones de gran cantidad de datos por segundo.
Por otro lado la latencia es el tiempo que tarda en ir un paquete de un punto a otro.
¿Por qué es la latencia importante para las aplicaciones?
En las aplicaciones donde existe una parte cliente y servidora, la comunicación entre estos dos elementos es constante, enviandose y recibiendo datos para las distintas acciones del usuario. Si durante el desarrollo de la aplicación no se ha tenido en consideración la posible latencia, el usuario podrá llegar a odiar la aplicación ya que tendrá que sufrir constantes esperas entre una y otra acción.
¿Cuál es la latencia en red local?
Normalmente es menor a 1 ms, 50 veces más rapido que una conexión nacional y 100 veces más rápido que una conexión intercontinental.
¿Cómo podemos reducir la latencia entre el servidor y el cliente?
Esto está en manos de las redes de comunicaciones, y parece un problema complejo, porque nos encontramos con limites físicos ( Velocidad de la luz y esas cosas 😉 )
Siempre te queda la opción de poner el servidor más cerca de los usuarios.
¿Cómo puedo reducir los efectos de la latencia?
Existen muchas técnicas, pero basicamente debemos de buscar que los efectos de la latencia no afecten a las acciones del usuario.
- Evitar las multiples llamadas consecutivas al servidor.
- Utiliza procesos en segundo plano.
- Utiliza procesos en el servidor.
- Programa en un entorno hostil para detectar en desarrollo los pequeños detalles que hacen una gran aplicación.
Te recomiendo el post de Jarboleya sobre consejos para programar aplicaciones en la nube