Troba l'assassí del rendiment
L'optimització del rendiment dels serveis en línia és una tasca gairebé supersticiosa. Un grup de programadors es van enfrontar a un munt de codi incomprensible i es van endevinar si l'altra part estava utilitzant tota la CPU. Passeu molt de temps gravant registres, mirant registres massius dia i nit, intentant trobar l'assassí del rendiment.
Tanmateix, amb fibjs, això serà fàcil. Com que fibjs té un potent suport per a la CPU i el perfilador de memòria, i és molt còmode d'utilitzar.
registre
Iniciar el perfilador de CPU a fibjs és extremadament senzill, només cal que afegiu opcions quan inicieu --prof
. L'interval de registre predeterminat és de 1000 ms. A mesura que s'aprofundeix l'optimització, haureu d'analitzar els registres amb més precisió. En aquest cas, podeu utilitzar per --prof-interval
establir l'interval. L'exemple següent registra el registre de treball fibjs cada 10 ms.
1fibjs --prof --prof-interval=10 main.js
Processament de registres
Després que l'operació finalitzi amb normalitat, o utilitzeu ctrl_c per finalitzar el procés, es generarà un fitxer de registre al directori actual. El nom del fitxer és fibjs-xxxx.log
. En aquest moment, podeu utilitzar --prof-process
per processar el registre generat:
1fibjs --prof-process fibjs-xxxx.log prof.svg
Un cop finalitzada l'operació, utilitzeu el navegador per obrir prof.svg per veure el gràfic de flama d'aquest registre: podeu fer clic per veure la imatge a mida completa. A la imatge a mida completa, podeu fer servir el ratolí per veure'n més detalls. informació: prof. svg .
Interpretació del diagrama de flama
Al gràfic de flama generat, cada bloc de color representa un punt d'enregistrament. Com més llarg sigui el bloc de color, més vegades s'enregistra; cada línia representa una capa de pila de trucades i com més capes, més capes es diuen; trucades La pila es col·loca cap per avall. Com més baix sigui el bloc de color, més original serà la funció.
Hi ha dos tipus de blocs de color, un és vermell i l'altre és blau. Al perfilador fibjs, el vermell representa les operacions de JavaScript i el blau representa les operacions io o les operacions natives. Segons el problema que hàgiu de resoldre, les àrees en què us heu de centrar variaran. Per exemple, si necessiteu resoldre el problema de l'ús elevat de la CPU, heu de parar atenció als blocs de color vermell. Si la vostra aplicació té un ús baix de la CPU però una resposta lenta, haureu de parar atenció als blocs de color blau. Com més gran sigui el bloc de color a prop de la part superior, més atenció i optimització necessitarà.