ガイド開発ガイド

パフォーマンスキラーを見つける

オンライン サービスのパフォーマンスの最適化は、ほとんど迷信に近い作業です。プログラマーのグループが大量の理解できないコードに直面し、相手がすべての CPU を使い果たしているかどうかをお互いに推測しました。ログの記録に多くの時間を費やし、昼夜を問わず大量のログを調べて、パフォーマンスの要因を見つけようとします。

しかし、fibjs を使用すると、これが簡単になります。fibjs は強力な CPU とメモリ プロファイラーをサポートしており、非常に使いやすいからです。

ロギング

fibjs での CPU プロファイラーの起動は非常に簡単で、起動時にオプションを追加するだけです--profデフォルトのログ間隔は 1000ms ですが、最適化が進むにつれて、より精度の高いログ分析が必要になる場合は、 を使用して--prof-interval間隔を設定できます。次の例では、fibjs 作業ログを 10 ミリ秒ごとに記録します。

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

処理ログ

操作が正常に終了した後、または ctrl_c を使用してプロセスを終了すると、現在のディレクトリにログ ファイルが生成されます。ファイル名は ですfibjs-xxxx.log。この時点で、生成されたログを処理するために使用できます--prof-process

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

操作が完了したら、ブラウザを使用して prof.svg を開き、このログのフレーム グラフを表示します。 教授 クリックするとフルサイズの画像が表示されます。フルサイズの画像では、マウスを操作して詳細を表示できます。情報: svg 教授

火炎図の解釈

生成されたフレーム グラフでは、各カラー ブロックが記録ポイントを表します。カラー ブロックが長いほど、記録される回数が多くなります。各線は呼び出しスタックの層を表し、層が多いほど、より多くの層が呼び出されます。スタックが呼び出されます。カラーブロックが下になるほど、機能が独創的になります。

カラーブロックには赤と青の2種類があります。fibjs プロファイラでは、赤は JavaScript 操作を表し、青は io 操作またはネイティブ操作を表します。解決する必要がある問題に応じて、重点を置く必要がある領域は異なります。たとえば、CPU 使用率が高い問題を解決する必要がある場合は、赤色のブロックに注意を払う必要があり、アプリケーションの CPU 使用率は低いが応答が遅い場合は、青色のブロックに注意を払う必要があります。上部近くのカラーブロックが大きいほど、より多くの注意と最適化が必要になります。

👉【同期と非同期