
Una cuestión muy importante para evaluar el rendimiento y comportamiento de una aplicación cliente/servidor es monitorizar los tiempos de respuesta del servidor. Los tiempos que intervienen desde que un cliente realiza una petición al servidor hasta que recibe su resultado son dos:
- 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 tardan los mensajes en llegar a su destino a través de la red.
¿Cómo podemos medir esos tiempos?
Para medir el tiempo de procesamiento bastar medir el tiempo que transcurre en el servidor para procesar la solicitud del cliente. Por ejemplo, el siguiente código permite medir ese tiempo en milisegundos:
Para
medir el tiempo de transmisión será necesario que el
servidor envíe un mensaje con el tiempo del sistema al cliente. El
cliente al recibir el mensaje debe calcular su tiempo de sistema y
compararlo con el tiempo recibido en el mensaje.
Para poder comparar los tiempos de respuesta de dos equipos es imprescindible que sus relojes de sistema estén sincronizados a través de cualquier servicio de tiempo (NTP). En equipos Windows por ejemplo, la sincronización de los relojes se realiza automáticamente.