Guida Guida allo sviluppo

Scopri il killer delle prestazioni

L'ottimizzazione delle prestazioni dei servizi online è quasi una superstizione. Un gruppo di programmatori si trova ad affrontare un sacco di codice incomprensibile e indovina se stanno usando la CPU. Trascorri molto tempo a registrare registri, guardandoli giorno e notte in registri enormi, cercando di trovare un killer delle prestazioni.

Tuttavia, con fibjs, tutto questo diventerà semplice. Perché fibjs ha un potente supporto per CPU e profiler di memoria ed è molto comodo da usare.

Login

Fibjs è molto semplice per avviare il profiler cpu, basta aggiungere --prof opzione --prof all'avvio. L'intervallo di registro predefinito è 1000 ms. Con l'approfondimento dell'ottimizzazione, sarà necessario analizzare il registro con maggiore precisione. A questo punto, è possibile utilizzare --prof-interval impostare l'intervallo. Nel seguente esempio, il registro di lavoro fibjs viene registrato ogni 10 ms.

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

Elaborazione dei registri

Dopo che l'operazione termina normalmente o dopo aver terminato il processo con ctrl_c, nella directory corrente verrà generato un file di registro e il nome del file è fibjs-xxxx.log questo momento, è possibile utilizzare --prof-process elaborare il registro generato:

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

Alla fine della corsa, utilizzare un browser per aprire prof.svg, è possibile visualizzare il diagramma di fiamma di questo registro: prof È possibile fare clic per visualizzare l'immagine a dimensione intera Nell'immagine a dimensione intera, è possibile utilizzare il mouse per visualizzare informazioni più dettagliate: prof.svg .

Interpretazione del diagramma di fiamma

Nel grafico della fiamma generato, ogni blocco di colore rappresenta un punto di registrazione: più lungo è il blocco di colore, più volte viene registrato; ogni linea rappresenta uno strato dello stack di chiamate. La pila viene messa sottosopra, più basso è il blocco di colore, più la funzione originale.

Esistono due tipi di blocchi di colore, uno è rosso e l'altro è blu. Nel profiler di fibjs, il rosso rappresenta le operazioni JavaScript e il blu rappresenta le operazioni io o operazioni native. A seconda del problema che devi risolvere, l'area su cui devi concentrarti sarà diversa. Ad esempio, se è necessario risolvere il problema dell'utilizzo elevato della CPU, è necessario prestare attenzione al blocco di colore rosso. Se l'applicazione ha un utilizzo della CPU ridotto ma la risposta è lenta, è necessario prestare attenzione al blocco di colore blu. Più grande è il blocco di colore nella parte superiore, più importante deve concentrarsi e ottimizzare.