2010-11-15 7 views
1

Je veux trouver combien de temps une requête http PHP passe dans la base de données. Rails logger affiche ces informations (combien de temps est consacré au rendu, à la base de données et à l'application). Exemple:PHP - mesure de l'heure de la base de données pour une requête HTTP

Completed in 0.01224 (81 reqs/sec) | DB: 0.00044 (3%) | 302 Found [http://localhost/posts] 

Existe-t-il quelque chose de similaire pour PHP?

Merci d'avance.

Répondre

3

Vous pouvez utiliser microtime() et memory_get_usage() pour tester la vitesse ainsi que la mémoire utilisée (ce qui est souvent plus important de ORM).

$time = microtime(TRUE); 
$memory = memory_get_usage(); 

...code here... 

print (microtime(TRUE)-$time). ' seconds and '. (memory_get_usage()-$memory). ' bytes'; 

Cependant, les requêtes de base de données doivent être référencées au niveau de la base de données. Utilisez MySQL Query Profiler pour une analyse comparative réelle.

1

Vérifiez la fonction PHP microtime() http://php.net/manual/en/function.microtime.php Je pense c'est ce que vous cherchez, mais je ne suis pas sûr.

+0

Donc pour l'afficher en secondes je pense que vous pourriez utiliser: echo number_format (microtime(), 2); –

0

Oui, PHP a des frameworks (Rails est un framework écrit en Ruby, PHP est un langage) qui a intégré la journalisation du temps passé sur des choses comme ça. Regardez Symfony, Kohana, Zend Framework, CodeIgniter.

+0

C'était un coup dans la tête pour moi. Effectivement! Php est un langage et non un cadre. Merci pour le whack :-) – srinivt