Me encontré con un dato bastante útil para conocer los tiempos de respuesta y presentarlos de manera comprensible de una solicitud a un servidor web.
Esto hace se hace mediante una plantilla de salida para una solicitud con el software cURL.
Para esto creamos un archivo en texto con el siguiente contenido
\n time_namelookup: %{time_namelookup}\n time_connect: %{time_connect}\n time_appconnect: %{time_appconnect}\n time_pretransfer: %{time_pretransfer}\n time_redirect: %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n ----------\n time_total: %{time_total}\n \n
Al archivo lo vamos a llamar curl-format.txt. Ahora ejecutamos el siguiente comando
curl -w "@curl-format.txt" -o /dev/null -s rodrigoramirez.com
Ahí le indicamos que use como salida mediante el parámetro -w use nuestro archivo de salida. Puedes ver más opciones a agregar en la salida del comando
La salida del ejemplo al sitio rodrigoramirez.com nos dará algo como
time_namelookup: 0.322 time_connect: 0.586 time_appconnect: 0.000 time_pretransfer: 0.586 time_redirect: 0.000 time_starttransfer: 1.067 ---------- time_total: 1.423
Donde se nos indica los tiempos que llevo tanto la resolución del nombre (time_namelookup), tiempo para la conexión, etc..
Buen tip 😉 , esto puede ser usado para el control de respuesta de una web que monitorices con Nagios, por ejemplo, y avisarte/tomar acciones cuando no lleguen a tus parámetros aceptables.
Mmm… incluso para realizar una grafica con Cacti usando SNMP y ver las veces que no tenia el rendimiento esperado.
La verdad, es que no lo sabia, pero le veo muchas posibilidades 😉
Un Saludo
Si, son muchas las posibilidades que le puedas dar a esto. Además lo puedes formatear a tu pinta, sacandolo en json, xml u otro.