Guía Guía de desenvolvemento

Atopa o asesino de rendemento

A optimización do rendemento dos servizos en liña é case supersticiosa. Un grupo de programadores enfrontáronse a unha gran cantidade de código incomprensible e adiviñaron se a outra parte estaba a usar toda a CPU. Pasa moito tempo gravando rexistros, dándolle voltas aos enormes rexistros día e noite, intentando atopar o asasino do rendemento.

Non obstante, con fibjs, todo isto será máis sinxelo. Debido a que fibjs ten un poderoso soporte para o procesador de memorias e CPU e é moi cómodo de usar.

Rexistro

o perfilador de cpu fibjs start é moi sinxelo, aumenta a --profopción de inicio . O intervalo de rexistro predeterminado é de 1000 ms, cunha optimización profunda, necesitará unha análise máis precisa do rexistro e, a continuación, pode usar o --prof-intervalintervalo definido. O seguinte exemplo rexistra o rexistro de traballo de fibjs cada 10 ms.

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

Rexistro de procesamento

Despois de finalizar a operación normal ou usar ctrl_c ao final do proceso, o directorio actual xerará un ficheiro de rexistro, o nome do ficheiro é fibjs-xxxx.log, neste momento, pode usar o --prof-processprocesamento de rexistro xerado:

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

Despois de executar, use o navegador para abrir prof.svg, pode ver o mapa de chamas deste rexistro: profe pode facer clic para ver a imaxe a tamaño completo, na imaxe a tamaño completo, pode usar o rato para comprobar información máis detallada : prof. svg .

Interpretación do mapa da chama

No gráfico de chama xerado, cada bloque de cor representa un punto de gravación. Canto máis longo sexa o bloque de cores, máis veces se gravou; cada liña representa unha capa de pila de chamadas e cantas máis capas, máis capas se chaman; colócase boca abaixo, canto máis baixo sexa o bloque de cores, máis a función orixinal será.

Hai dous tipos de bloques de cores, un é vermello e outro azul. No perfilador de fibjs, o vermello representa operacións JavaScript e o azul representa operacións io ou operacións nativas. Dependendo do problema que cómpre resolver, a área na que cómpre centrarse será diferente. Por exemplo, se precisa resolver o problema da alta ocupación da CPU, ten que prestar atención ao bloque de cor vermella neste momento; e se a súa aplicación, a ocupación da CPU non é alta, pero a resposta é lenta, ten que preste atención ao bloque de cor azul. Canto maior sexa o bloque de cor preto da parte superior, máis importante debe preocuparse e optimizarse.

👉 [ Desenvolvemento rápido de aplicacións de escritorio ]