Table des matières
Nom du fichier de profil personnalisé
Maison développement back-end tutoriel php À propos de l'analyse PHP+xdebug des goulots d'étranglement des performances du code

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

Feb 18, 2021 pm 05:27 PM
php xdebug

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
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
Installez qcachegrind :

$ brew install qcachegrind
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.*

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!

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

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

NEKOANIME ANIME SITE WEB GRATUITE NEKOANIME ANIME SITE WEB GRATUITE Sep 02, 2025 pm 04:00 PM

L'URL de visualisation gratuite de Nekoanime est https://nekoanime.org/. La plate-forme fournit des ressources d'animation nouvelles et anciennes couvrant une variété de types et de régions. Il prend en charge les sous-titres multi-langues, a une interface claire, une recherche rapide, est adaptée aux terminaux mobiles, à la lecture en douceur et prend en charge la commutation multi-définition.

Comment gérer les erreurs mortelles en PHP? Comment gérer les erreurs mortelles en PHP? Sep 04, 2025 am 09:17 AM

FataleRrorsInphPhaltexEcutionAndCannotBecaughtByTry-Catchblocks.2.UseRegister_Shutdown_Function () TODETECTFATALERRORSVIAERROR_GET_LAST () ANDRESPONDAPROPROPROPROPROPROPROPROPROPROPROPROPROPROPROPROPTOR

Comment supprimer les valeurs en double d'un tableau en PHP? Comment supprimer les valeurs en double d'un tableau en PHP? Sep 05, 2025 am 08:28 AM

Utilisez la fonction Array_Unique () pour supprimer les valeurs en double dans le tableau, conserver les éléments d'apparence et convaincre les tableaux d'indexation et associatifs, par exemple: $ fruits = ['pomme', 'banana', 'Apple', 'Orange', 'Banana']; $ UNIQUE_FRUITS = Array_Unique ($ fruits); Le résultat est [«pomme», «banane», «orange»]; Cette fonction conserve le nom de clé d'origine, si vous avez besoin de réindexer, vous pouvez utiliser array_values ​​(); Notez qu'il est basé sur la comparaison des chaînes et que les types mixtes peuvent affecter les résultats. Si vous devez vérifier strictement, il est recommandé de le traiter dans une boucle personnalisée.

Comment obtenir l'URL de la page actuelle en PHP? Comment obtenir l'URL de la page actuelle en PHP? Sep 03, 2025 am 04:08 AM

ThecurrentPageUrlinPhpisobtedBycombining $ _server ['https'], $ _ serveur ['http_host'], et $ _server ['request_uri'] toformthefurLincludingProtocol, domain, chemin et questring.

Comment empêcher l'injection SQL en PHP? Comment empêcher l'injection SQL en PHP? Sep 05, 2025 am 05:27 AM

UsepreparedstatementsWithpDoOrMysqlitoseParatesqllogicfromdata, empêchant le point de vue

Qu'est-ce qu'un constructeur et un destructeur en PHP? Qu'est-ce qu'un constructeur et un destructeur en PHP? Sep 05, 2025 am 08:48 AM

Le constructeur __Contruct () est automatiquement exécuté lorsque l'objet est créé et utilisé pour l'initialisation, tel que l'attribution ou l'établissement de connexions; 2. Le destructeur __Drestruct () est appelé lorsque l'objet est détruit et est utilisé pour libérer des ressources, tels que la fermeture d'un fichier. Les deux gèrent conjointement le cycle de vie de l'objet PHP.

Comment utiliser les générateurs pour enregistrer la mémoire en PHP? Comment utiliser les générateurs pour enregistrer la mémoire en PHP? Sep 06, 2025 am 04:04 AM

Le générateur enregistre efficacement la mémoire en sortissant des valeurs une par une plutôt que de renvoyer le tableau complet à la fois. Utilisez la fonction de rendement pour retourner l'objet générateur, générer des valeurs selon les besoins et éviter une grande quantité de mémoire consommatrice de données.

Outil de recherche internationale yandex en ligne moteur de recherche de yandex Outil de recherche internationale yandex en ligne moteur de recherche de yandex Sep 02, 2025 pm 04:21 PM

Le portail de requête rapide du moteur de recherche Yandex est https://yandex.com/. La plate-forme fournit des suggestions de recherche de contenu multi-langues et multi-types et de recherche en temps réel, et prend en charge les services avancés de grammaire et de région, de traduction intégrée, de stockage cloud et d'autres outils.

See all articles