Guide de développement du guide

Trouvez le tueur de performance

L'optimisation des performances des services en ligne est presque superstitieuse. Un groupe de programmeurs a été confronté à une grande quantité de code incompréhensible et a deviné si l'autre partie utilisait tout le processeur. Passez beaucoup de temps à enregistrer des journaux, à parcourir les énormes journaux jour et nuit, à essayer de trouver le tueur de performances.

Cependant, avec fibjs, tout cela deviendra plus simple. Parce que fibjs prend en charge un puissant processeur et un profileur de mémoire, et il est très pratique à utiliser.

Enregistrer

fibjs start cpu profiler est extrêmement simple, augmentez l' --profoption de démarrage . L'intervalle d'enregistrement par défaut est de 1000 ms, avec une optimisation en profondeur, vous aurez besoin d'une analyse plus précise du journal, puis vous pouvez utiliser l' --prof-intervalintervalle défini. L'exemple suivant enregistre le journal de travail de fibjs toutes les 10 ms.

1
fibjs --prof --prof-interval=10 main.js

Journal de traitement

Après la fin du fonctionnement normal, ou utilisez ctrl_c à la fin du processus, le répertoire actuel générera un fichier journal, le nom du fichier est fibjs-xxxx.log, à ce moment, vous pouvez utiliser le --prof-processtraitement du journal généré :

1
fibjs --prof-process fibjs-xxxx.log prof.svg

Après l'exécution, utilisez le navigateur pour ouvrir prof.svg, vous pouvez afficher la carte des flammes de ce journal : prof vous pouvez cliquer pour afficher l'image en taille réelle, dans l'image en taille réelle, vous pouvez utiliser la souris pour vérifier des informations plus détaillées : prof svg .

Interprétation de la carte des flammes

Dans le graphique de flamme généré, chaque bloc de couleur représente un point d'enregistrement. Plus le bloc de couleur est long, plus il a été enregistré plusieurs fois ; chaque ligne représente une couche de la pile d'appels, et plus il y a de couches, plus il y a de couches appelées ; La pile est placé à l'envers, plus le bloc de couleur est bas, plus la fonction d'origine est importante.

Il existe deux types de blocs de couleur, l'un rouge et l'autre bleu. Dans le profileur de fibjs, le rouge représente les opérations JavaScript et le bleu représente les opérations io ou les opérations natives. Selon le problème que vous devez résoudre, la zone sur laquelle vous devez vous concentrer sera différente. Par exemple, si vous devez résoudre le problème d'occupation élevée du processeur, vous devez faire attention au bloc de couleur rouge à ce stade ; et si votre application, l'occupation du processeur n'est pas élevée, mais la réponse est lente, vous devez faites attention au bloc de couleur bleu. Plus le bloc de couleur près du haut est grand, plus il doit être concerné et optimisé.

👉 [ Développement rapide d'applications bureautiques ]