Guia Guia de desenvolupament

Troba l'assassí del rendiment

L'optimització del rendiment dels serveis en línia és gairebé supersticiosa. Un grup de programadors es van enfrontar a una gran quantitat de codi incomprensible i van endevinar si l'altra part utilitzava tota la CPU. Dediqueu molt de temps a gravar registres, fullejant els registres massius dia i nit, intentant trobar l’assassí del rendiment.

Tanmateix, amb fibjs, tot això serà més senzill. Com que fibjs té una potent compatibilitat amb el perfilador de memòria i CPU, i és molt convenient d’utilitzar.

Registre

El perfilador de cpu fibjs start és extremadament senzill, augmenta l' --profopció d' inici . L'interval de registre predeterminat és de 1000 ms, amb una optimització profunda, necessitareu una anàlisi més precisa del registre i, a continuació, podeu utilitzar l' --prof-intervalinterval establert. L'exemple següent registra el registre de treball de fibjs cada 10 ms.

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

Registre de processament

Després del final de l'operació normal, o bé utilitzeu ctrl_c al final del procés, el directori actual generarà un fitxer de registre, el nom del fitxer és que fibjs-xxxx.log, en aquest moment, podeu utilitzar el --prof-processprocessament de registre generat:

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

Després d'executar, utilitzeu el navegador per obrir prof.svg, podeu veure el mapa de flames d'aquest registre: prof podeu fer clic per veure la imatge a mida completa, a la imatge a mida completa, podeu utilitzar el ratolí per veure informació més detallada : prof. svg .

Interpretació del mapa de flames

Al gràfic de flama generat, cada bloc de color representa un punt d'enregistrament. Com més llarg sigui el bloc de colors, més vegades s'ha enregistrat; cada línia representa una capa de pila de trucades i, com més capes, més capes es diuen; es posa cap per avall, com més baix sigui el bloc de colors, més serà la funció original.

Hi ha dos tipus de blocs de colors, un és vermell i l’altre blau. Al perfilador de fibjs, el vermell representa les operacions JavaScript i el blau les operacions io o les operacions natives. Depenent del problema que hàgiu de resoldre, l'àrea en què us heu de centrar serà diferent. Per exemple, si heu de resoldre el problema de l’alta ocupació de la CPU, heu de prestar atenció al bloc de color vermell en aquest moment; i si la vostra aplicació, l’ocupació de la CPU no és alta, però la resposta és lenta, parar atenció al bloc de color blau. Com més gran sigui el bloc de colors prop de la part superior, més important haurà de preocupar-se i optimitzar-se.

👉 [ Desenvolupament ràpid d'aplicacions d'escriptori ]