Guida allo sviluppo della guida

Trova i killer delle prestazioni

L'ottimizzazione delle prestazioni dei servizi online è un lavoro quasi superstizioso. Un gruppo di programmatori si trova di fronte a molti codici incomprensibili, indovinando se l'altra parte sta usando la cpu. Trascorri molto tempo registrando i registri, esaminando gli enormi registri giorno e notte, cercando di trovare il killer delle prestazioni.

Tuttavia, con fibjs, tutto questo diventerà più facile. Perché fibjs ha un potente supporto per cpu e memory profiler ed è molto comodo da usare.

registro di registrazione

È estremamente semplice avviare il cpu profiler in fibjs, basta aggiungere --profl'opzione . L'intervallo di registro predefinito è 1000 ms. Con l'approfondimento dell'ottimizzazione, sarà necessario analizzare i registri con maggiore precisione. A questo punto, è possibile utilizzare per --prof-intervalimpostare l'intervallo. L'esempio seguente registra il registro di lavoro fibjs ogni 10 ms.

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

registro di elaborazione

Dopo che l'operazione termina normalmente o il processo viene terminato utilizzando ctrl_c, verrà generato un file di registro nella directory corrente.Il nome del file è .In questo momento, è fibjs-xxxx.logpossibile utilizzare --prof-processper elaborare il registro generato:

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

Dopo l'esecuzione, apri prof.svg con un browser per visualizzare il grafico a fiamma di questo registro: prof Puoi fare clic per visualizzare l'immagine a grandezza naturale Nell'immagine a grandezza naturale, puoi utilizzare il mouse per visualizzare informazioni più dettagliate: prof. svg .

Interpretazione del grafico a fiamma

Nel diagramma di fiamma generato, ogni blocco di colore rappresenta un punto di registrazione. Più lungo è il blocco di colore, più volte è stato registrato; ogni linea rappresenta uno strato di stack di chiamate, e più strati, più strati di chiamate; La disposizione della pila è invertita, 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 varieranno. Ad esempio, se devi risolvere il problema dell'elevato utilizzo della CPU, devi prestare attenzione al blocco di colore rosso in questo momento; e se la tua applicazione ha un basso utilizzo della CPU ma una risposta lenta, devi prestare attenzione al blu blocco di colore. Più grande è il blocco di colore nella parte superiore, maggiore è l'attenzione e l'ottimizzazione necessarie.

👉 【Sincrono e Asincrono