ガイド開発ガイド

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

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

ただし、fibjsを使用すると、これはすべて簡単になります。fibjsは強力なCPUとメモリプロファイラーをサポートしており、非常に便利に使用できるためです。

ログ

fibjs start cpu profilerは非常にシンプルで、起動--profオプションを増やします。デフォルトのログ間隔は1000ミリ秒ですが、詳細な最適化を行うと、ログをより正確に分析する必要があります。その後、--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占有率は高くありませんが、応答が遅い場合は、次のことを行う必要があります。青いカラーブロックに注意してください。上部近くのカラーブロックが大きいほど、それを考慮して最適化する必要があります。

👉[デスクトップアプリケーションの迅速な開発]