Guida allo sviluppo della guida

Trova il killer delle prestazioni

L’ottimizzazione delle prestazioni dei servizi online è un compito quasi superstizioso. Un gruppo di programmatori si è trovato di fronte a un sacco di codice incomprensibile e si è chiesto a vicenda se l'altra parte stesse utilizzando tutta la CPU. Trascorri molto tempo registrando i log, esaminando enormi log giorno e notte, cercando di trovare il killer delle prestazioni.

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

registrazione

Avviare il profiler della CPU in fibjs è estremamente semplice, basta aggiungere le opzioni all'avvio di --prof. L'intervallo di log predefinito è 1000 ms. Man mano che l'ottimizzazione diventa più approfondita, dovrai analizzare i log con maggiore precisione. In questo caso, puoi utilizzare per --prof-intervalimpostare l'intervallo. L'esempio seguente registra il registro di lavoro di fibjs ogni 10 ms.

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

Registri di elaborazione

Dopo che l'operazione termina normalmente, o se usi ctrl_c per terminare il processo, nella directory corrente verrà generato un file di registro. Il nome del file è fibjs-xxxx.log. A questo punto, puoi utilizzare --prof-processper elaborare il registro generato:

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

Una volta completata l'operazione, utilizzare il browser per aprire prof.svg per visualizzare il grafico della fiamma di questo registro: prof è possibile fare clic per visualizzare l'immagine a dimensione intera. Nell'immagine a dimensione intera è possibile agire con il mouse per visualizzare più dettagli informazioni: 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 riga rappresenta uno strato di stack di chiamate, e più strati, più strati vengono chiamati; chiama lo stack viene posizionato sottosopra.Più basso è il blocco colore, più originale è la funzione.

Esistono due tipi di blocchi di colore, uno è rosso e l'altro è blu. Nel profiler fibjs, il rosso rappresenta le operazioni JavaScript e il blu rappresenta le operazioni io o le operazioni native. A seconda del problema che devi risolvere, le aree su cui concentrarti varieranno. Ad esempio, se devi risolvere il problema dell'elevato utilizzo della CPU, devi prestare attenzione ai blocchi di colore rosso. Se la tua applicazione ha un basso utilizzo della CPU ma una risposta lenta, devi prestare attenzione ai blocchi di colore blu. Più grande è il blocco colore nella parte superiore, maggiore sarà l'attenzione e l'ottimizzazione di cui avrà bisogno.

👉 【Sincrono e asincrono