À propos de l'analyse PHP+xdebug des goulots d'étranglement des performances du code

藏色散人
Libérer: 2023-04-09 18:26:02
avant
2875 Les gens l'ont consulté

PHP + xdebug pour analyser les goulots d'étranglement des performances du code

Habituellement activéxdebug Les fichiers de sortie des plug-ins et des tests de performances seront générés, généralement dans des fichiers cachegrind.out.xxxx.

Ce fichier peut être utilisé pour l'analyse des performances du code via des outils tiers.

Mais s'il existe plusieurs projets/sites Web localement, tous les profils seront générés dans un seul fichier, ce qui n'est pas pratique pour une analyse ultérieure des performances.

Nom du fichier de profil personnalisé

Vous pouvez définir le nom du fichier de sortie en configurant les paramètres xdebug.profiler_output_name Certains paramètres sont les suivants :

符号 含义 配置样例 样例文件名
%c 当前工作目录的crc32校验值 cachegrind.out.%c cachegrind.out.1258863198
%p 当前服务器进程的pid cachegrind.out.%p cachegrind.out.9685
%r 随机数 cachegrind.out.%r cachegrind.out.072db0
%s 脚本文件名(注) cachegrind.out.%s cachegrind.out._home_httpd_html_test_xdebug_test_php
%t Unix时间戳(秒) cachegrind.out.%t cachegrind.out.1179434742
%u Unix时间戳(微秒) cachegrind.out.%u cachegrind.out.1179434749_642382
%H $_SERVER['HTTP_HOST'] cachegrind.out.%H cachegrind.out.localhost
%R $_SERVER['REQUEST_URI'] cachegrind.out.%R cachegrind.out._test_xdebug_test_php_var=1_var2
%S session_id (来自$_COOKIE 如果设置了的话) cachegrind.out.%S cachegrind.out.c70c1ec2375af58f74b390bbdd2a679d
%% %字符 cachegrind.out.%% cachegrind.out.%%

Modifiez le fichier de configuration : php.ini

xdebug.profiler_output_name = cachegrind.out.%H
Copier après la connexion
Puis redémarrez le serveur php.

Sous Mac, les fichiers de profil sont stockés dans le répertoire

. /var/tmp/

Analyse des performances

Sous Mac, MacCallGrind et qcachegrind sont disponibles, mais le premier est payant et peut être téléchargé directement via l'Apple Store, tandis que le second est gratuit. Nécessite une installation manuelle.

Installez graphviz pour la fonction Call Graph :

$ brew install graphviz
Copier après la connexion
Installez qcachegrind :

$ brew install qcachegrind
Copier après la connexion
Une fois l'installation terminée, vous pouvez ouvrir l'application

L'interface graphique est la suivante. suit : qcachegrind

À propos de lanalyse PHP+xdebug des goulots détranglement des performances du code

Autres

Cependant, il convient de noter qu'après avoir activé

la sortie de fichier, s'il existe de nombreux projets locaux, il est facile pour occuper une grande surface d'espace disque, comme indiqué ci-dessous. C'est un état que je n'ai pas nettoyé depuis environ six mois : profile

À propos de lanalyse PHP+xdebug des goulots détranglement des performances du code

Vous pouvez utiliser la commande pour le nettoyer :

$ sudo rm -fr /private/var/tmp/cachegrind.out.*
Copier après la connexion

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!