Como calcular tempo de carregamento da página utilizando PHP

Atenção! Essa postagem foi escrita há mais de 2 anos. Na informática tudo evolui muito rápido e algumas informações podem estar desatualizadas. Embora o conteúdo possa continuar relevante, lembre-se de levar em conta a data de publicação enquanto estiver lendo. Caso tenha sugestões para atualizá-la, não deixe de comentar!

Prefácio

Salve, galera! Tudo na paz com vocês?
Hoje quero ensinar um esqueminha bem bacana que serve pra calcular o tempo de carregamento de uma página.

Você com certeza já viu em algum lugar diversos sites que possuem o tempo que a página levou para ser gerada. O que você talvez não sabia, é que o PHP pode fazer isso facilmente, utilizando apenas um cálculo de subtrair!

Conceito

Como você sabe, o PHP possui uma variável superglobal chamada $_SERVER (a qual já foi citada várias, e várias, e várias, e várias vezes) que guarda diversos dados importantes.

Hoje utilizaremos o índice REQUEST_TIME. Ele possui a timestamp do momento em que a página foi requisitada.
Para esta experiência, utilizaremos também a função mktime(), que retorna a timestamp atual.

O objetivo é, na última linha do arquivo, mostrar para o usuário o resultado da subtração destes dois valores, afim de que ele seja informado do tempo que a página demorou para ser carregada.

Mão na massa

O script a seguir é bastante simples. Consiste em um for que irá até 100 milhões e depois irá imprimir quanto tempo demorou, que obviamente irá variar de uma máquina para outra (aqui é um Core 2 Duo 2.4 e demorou 9 segundos).

[php][/php]

Lembrando que você deve colocar sempre no final da página, caso contrário não terá efeito.

Conclusão

Você pode utilizar este cálculo para outros fins, como fazer um benchmark de sua aplicação. Poderá catalogar o tempo que suas páginas demoram para carregar e talvez fazer cache das mais demoradas.

E, claro, sempre que você achar uma nova utilidade pro código, coloque nos comentários! :)

Um grande abraço a todos e fiquem com Deus!
Rafael Jaques