ガイド開発ガイド

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

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

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

ログ

fibjs start cpu profiler は非常にシンプルで、起動--profオプションを増やします。デフォルトのロギング間隔は 1000 ミリ秒です。詳細な最適化により、ログのより正確な分析が必要になり、--prof-interval設定された間隔を使用できます。次の例では、fibjs の作業ログを 10ms ごとに記録しています。

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 占有率は高くないが応答が遅い場合は、青のカラーブロックに注意してください。上部に近いカラー ブロックが大きいほど、それを考慮して最適化する必要があります。

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