Maison >développement back-end >PHP7 >Utilisez xhprof pour analyser en php7
Il s'agit d'un pur document si vous en avez besoin à l'avenir, vous pouvez le consulter à tout moment et utiliser xhprof pour l'analyse, ce qui facilite. tests de code et analyse comparative (prend en charge php7
Tutoriel recommandé : "Tutoriel php"
docker run -it -p 80:80 -v /Users/xxx/Desktop/xhprof:/data phalcon /bin/bash复制代码
Il existe de nombreux xhprof pour php7 Nous utilisons github.com/longxinH/xh... Ce projet ici.
git clone https://github.com/longxinH/xhprof.git复制代码
cd xhprof/extension/ /usr/server/php7/bin/phpize ./configure --with-php-config=/usr/server/php7/bin/php-config make && make install复制代码
Enfin, après exécution, nous devons importer ce fichier so Accédez à la configuration php.ini
Affichez le chemin du fichier php.ini
/usr/server/php7/bin/php --ini Configuration File (php.ini) Path: /usr/server/php7/etc Loaded Configuration File: /usr/server/php7/etc/php.ini Scan for additional .ini files in: /usr/server/php7/etc/php Additional .ini files parsed: (none)复制代码
Modifiez /usr/server/php7/etc/php.ini
[Xhprof] extension=xhprof.so xhprof.output_dir=/data/logs复制代码
Redémarrez php- fpm c'est Can.
pour construire un cas est brièvement mentionné
Nous intégrons le code suivant devant la logique à surveiller
\xhprof_enable(); ......$order = new OrderAdepter();$result = $order->getUserOrderByOrderNo(123); ......$xhprof_data = \xhprof_disable(); print_r($xhprof_data);复制代码
sortie :
Nous avons constaté que deux fonctions dans l'extension xhprof ont été appelées, et la signification de la valeur de sortie
ct 表示 当前这个函数调用的次数,此案例都是1次 wt 表示 函数执行时间的耗时,单位为微秒复制代码
En voyant cela, nous avons constaté que les informations que nous avons obtenues n'étaient pas très nombreuses, par exemple, nous nous soucions souvent aussi de la mémoire occupée, du processeur et d'autres indicateurs >XHPROF_FLAGS_MEMORY. Utilisation statistique de la mémoire
XHPROF_FLAGS_NO_BUILTINS Les fonctions intégrées ne sont pas comptées. Cette sortie montre que la fonction dans notre extension a été ignorée. mu représente la mémoire utilisée (octets), pmu représente la mémoire maximale utilisée (octets)\xhprof_enable( XHPROF_FLAGS_MEMORY +XHPROF_FLAGS_CPU +XHPROF_FLAGS_NO_BUILTINS );复制代码
Si vous êtes intéressé, vous pouvez l'ouvrir et y jeter un œil. les éléments que nous avons analysés y sont stockés. Informations sur les objets sérialisés.
3.2 Configuration d'un service distinct pour accéder à nos résultats d'analyse
Nous nous dirigeons vers le répertoire xhprof_html dans le projet xhprof
Je crois que vous comprenez maintenant le rôle de notre run_id et de notre projet in save_runLa partie supérieure est un aperçu des indicateurs d'interface demandés, et ce qui suit est l'exécution spécifique de chaque fonction appelée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!