Saltar la navegación

2.7.- Monitorizar tiempos de respuesta.

 Icono que simula los engranajes de un reloj. Un aspecto muy importante para ver el comportamiento de nuestra aplicación Cliente/Servidor son los tiempos de respuesta del servidor. Desde que el cliente realiza una petición hasta que recibe su resultado intervienen dos tiempos:

  • Tiempo de procesamiento. Es el tiempo que el servidor necesita para procesar la petición del cliente y enviar los datos.
  • Tiempo de transmisión. Es el tiempo que transcurre para que los mensajes viajen a través de los diferentes dispositivos de la red hasta llegar a su destino.

Para medir el tiempo de procesamiento tan sólo se necesitar medir el tiempo que transcurre en que el servidor procese la solicitud del cliente. Para medir el tiempo en milisegundos necesario para procesar la petición de un cliente puede utilizar el siguiente código:

import java.util.Date;
long tiempo1=(new Date()).getTime();
// Procesar la petición del cliente
long tiempo2=(new Date()).getTime();
System.out.println("\t  Tiempo = "+(tiempo2-tiempo1)+" ms");

Para medir el tiempo de transmisión es necesario enviar a través de un mensaje el tiempo del sistema y el receptor comparar su tiempo de respuesta con el que hay dentro del mensaje. Lógicamente, para poder comparar los tiempos de respuesta de dos equipos es totalmente necesario que los relojes del sistema estén sincronizados a través de cualquier servicio de tiempo (NTP). En equipos Windows la sincronización de los relojes se realiza automáticamente y en equipos GNU/Linux se realiza ejecutando el siguiente comando:

/usr/sbin/ntpdate -u 0.centos.pool.ntp.org

Para saber más

Para sincronizar el reloj de dos equipos es necesario utilizar el servicio NTP (Network Time Protocol).

Servicio NTP.

Otra forma de calcular el tiempo de transmisión es utilizar el comando ping. Como puede ver en la siguiente figura el tiempo para que el cliente origen acceda al servidor www.google.es es de unos 115 milisegundos de media.

Resultado de realizar un ping al servidor www.google.es

Autoevaluación

Pregunta

¿Qué tiempos del sistema afectan en el modelo cliente/servidor?

Respuestas

Tiempo de procesamiento.

Tiempo de transmisión.

Todas son correctas.

Retroalimentación