Guida allo sviluppo della guida

Trova il killer delle prestazioni

L'ottimizzazione delle prestazioni dei servizi online è un lavoro quasi superstizioso. Un gruppo di programmatori si trova di fronte a un sacco di codice incomprensibile, indovinando se l'altra parte sta utilizzando tutta la CPU. Trascorri molto tempo a registrare, scavando tra tonnellate di registri 24 ore su 24 cercando di trovare killer di prestazioni.

Con fibjs, invece, tutto diventa più facile. Perché fibjs ha un potente supporto per CPU e memory profiler ed è molto comodo da usare.

tronco d'albero

È estremamente semplice per fibjs avviare il profiler della CPU, basta aggiungere l' --profopzione . L'intervallo di registro predefinito è 1000 ms. Man mano che l'ottimizzazione procede, sarà necessario analizzare i registri con maggiore precisione. In questo caso, è possibile utilizzare per --prof-intervalimpostare intervallo. L'esempio seguente registra il registro di lavoro di fibjs ogni 10 ms.

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

Registri di processo

Dopo che l'operazione è terminata normalmente, o usa ctrl_c per terminare il processo, verrà generato un file di registro nella directory corrente, il nome del file è fibjs-xxxx.log, a questo punto, puoi utilizzare per --prof-processelaborare il registro generato:

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

Al termine dell'operazione, apri prof.svg con un browser per visualizzare il grafico a fiamma di questo log: prof puoi fare clic per visualizzare l'immagine a dimensione intera, e nell'immagine a dimensione intera, puoi utilizzare il mouse per visualizzare più dettagli informazioni: prof.svg .

Interpretazione del grafico 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; Lo stack è capovolto, più basso è il blocco colore, maggiore è 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 le operazioni native. A seconda del problema che devi risolvere, le aree su cui devi concentrarti variano. Ad esempio, se devi risolvere il problema dell'utilizzo elevato della CPU, devi prestare attenzione al blocco di colore rosso; e se la tua applicazione non occupa una CPU elevata, ma la risposta è relativamente lenta, devi prestare attenzione a il blocco di colore blu. Più grande è il blocco colore vicino alla parte superiore, più la messa a fuoco richiede attenzione e ottimizzazione.

👉 【Aggiornamento a caldo del modulo server