Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: javipilo en 14 de Enero de 2011, 16:51:46 pm

Título: [Tutorial] Calcular tiempo de carga de un página
Publicado por: javipilo en 14 de Enero de 2011, 16:51:46 pm
Bueno para calcular el tiempo que tarda la página en cargar es muy fácil.

Primero en el inicio de todo el archivo, ponemos:
Código: [Seleccionar]
<?php
$time 
microtime(); // Sacamos el tiempo en microsegundos
?>


Al final del código va esto:
Código: [Seleccionar]
<?php
echo "La página se ha generado en ". (microtime() - $time) ." segundos."// Restamos los microsegundos actuales a los anteriores
?>


¿Que es lo que sucede?
Pues al inicio del todo hemos calculado un microtime() y al final otro microtime() la diferencia en la carga de la página se hace así, por que cuando tu sacas un microtime() antes que el otro microtime() por supuesto el tiempo que tarda en llegar al otor microtime() es el tiempo de carga de la página.

Saludos
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Siquillote en 14 de Enero de 2011, 17:08:10 pm

Gracias!. Quizás me venga bien :P K+
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: javipilo en 15 de Enero de 2011, 02:58:24 am
Jaja gracias...

Saludos
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Focux en 15 de Enero de 2011, 03:18:04 am
Buen aporte, aunque ya lo sabia.. lo utilizaba para calcular el tiempo de carga de algunas funciones.
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: raxtunett en 15 de Enero de 2011, 04:20:58 am
exelente!! me sirvio mucho :)
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: javipilo en 15 de Enero de 2011, 15:53:49 pm
Focux nunca viene mal recordar ¿verdad? jeje

Saludos
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Siquillote en 15 de Enero de 2011, 16:27:22 pm

Ahora que lo he probado, el código hace epics fails. Es decir, hay veces que te tira el resultado correcto, otras con un formato extraño y otras con resutado erroneo. Casos:

Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: westwest en 15 de Enero de 2011, 17:13:57 pm
Tira una secuencia de numeros mas unas letras: 4.2000000000042E-5
Te saltaste la clase donde explicaban la notación cientifica? no es un fail ¬¬ lo tuyo si.
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Siquillote en 15 de Enero de 2011, 17:18:56 pm

Te saltaste la clase donde explicaban la notación cientifica? no es un fail ¬¬ lo tuyo si.

Si, ya se que es para representar un número elevado a X numeros (Creo, es que hace 2 años que no doy fisica y quimica). Bueno, supongo que la solución será mostrar solo las primeras 4 o 5 cifras :P
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Physlet en 15 de Enero de 2011, 17:23:55 pm
Si, ya se que es para representar un número elevado a X numeros (Creo, es que hace 2 años que no doy fisica y quimica). Bueno, supongo que la solución será mostrar solo las primeras 4 o 5 cifras :P
Si muestras solo las 4 o 5 cifras, no verás la base E y el resultado no estaría correcto.

¿Y si lo prueban con nanosegundos? xdd
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: FeDe en 01 de Marzo de 2011, 12:21:04 pm
Buenas,

Lo primero antes de todo... Notación científica no es de física, ni de química sino de matemáticas al igual que esta función.

La lógica es simple... al obtener el tiempo al inicio de carga de la página, es el tiempo justo en el que se ha empezado a cargar la página, y al final para saber el tiempo en el que la página ha dejado de cargarse... ( en teoría, porque si luego mostramos el tiempo, seguirá cargandose la página, procesando la operación).

Por lo cual si $tiempoinicio = microtime(); (al principio de la página) y $tiempofin = microtime(); al final de la página, tan solo nos queda lo que ha dicho perfectamente Javipilo que es hacer la diferencia entre $tiempofin - $tiempoinicio (ya que el tiempo fin es mayor que tiempo inicio, ya que ha trascurrido más tiempo...

Ahora bien, si cargamos el localhost, el tiempo de carga será de 0 ó 21 segundos, según la latencia de tu pc en ese momento, osea si se te queda pillado o no, en terminos coloquiales.

Si lo subieras a un servidor privado, pasaría igual si el servidor está colapsado lo que pasa que no lo notaríamos, o nos parecería más real, debido a que el tiempo de carga de la página, también se notaría visualmente como un error de la conexión o simplemente ni veríamos la página por TimeOut con ERROR 500, como suelen aparecer en la mayoría de las modificaciones Apache actuales.

Por lo cual depende de dónde lo uses te saldrá un resultado fiable o no.
pero tanto la teoría como la lógica que ha explicado Javipilo está perfecta. (:
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Physlet en 01 de Marzo de 2011, 16:27:37 pm
Tú no puedes restar una cadena de una cadena. La función microtime() devuelve una cadena, sin embargo, si le agregas un parámetro devolverá un float, que sí podrás restar y obtener resultados apropiados.

Por lo tanto sería:

//Inicio del código
$time = microtime(true);

//Final del código
echo "La página se ha generado en ". (microtime(true) - $time) ." segundos.";
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: javipilo en 01 de Marzo de 2011, 19:50:59 pm
Ese código es correcto y va bien...

Saludis
Título: Re:[Tutorial] Calcular tiempo de carga de un página
Publicado por: Physlet en 01 de Marzo de 2011, 19:55:58 pm
Ese código es correcto y va bien...
Saludis
¿Cuál?