blog

DevKitパフォーマンス・チューニング:DevKitのパフォーマンス・チューニングを深く掘り下げ、システムのボトルネックを解消する

この記事で説明したシステム性能分析は、DevKit性能分析ツールの主な機能にすぎません。...

Oct 16, 2025 · 6 min. read
シェア

なぜパフォーマンス・チューニングが必要なのですか?

ほとんどの人はこれらの問題を「インターネットの速度が遅い」せいだと考えるでしょう。しかし、もっと重要な根本的原因があります。それはシステム性能のボトルネックによるもので、より多くのメモリと優れた性能を持つ、より高い設定のデバイスでゲームをプレイすれば解決します。

何千もの産業のデジタルインフラとして、サーバーは多くの複雑な産業アプリケーションを搭載し、デジタル社会の効率的な運用を支えています。その結果、サーバーはますます様々なボトルネックの課題に直面しなければなりません。一般ユーザーは、携帯電話を買い換えることでゲーム体験を向上させることができますが、サーバーのような高価な機器には明らかに適していません。

実際には、より良い機器の交換は、まだ再びパフォーマンスのボトルネックがあるかもしれない場合でも、システムのパフォーマンスは、多くの場合、サーバーのハードウェア、アプリケーションソフトウェア、アプリケーション、オペレーティングシステム、ネットワーク機器、および他の多くの構成やコレクションの指標を含む多面的であるため、特定の指標の問題は、システムの動作が遅くなることがあります。この時、必要なのは実はもっと「システム性能のチューニング」なのです。

システム・パフォーマンス・チューニングとは何ですか?

簡単に言えば、システムハードウェア、オペレーティングシステム、アプリケーションソフトウェア関連情報を統合的かつ包括的に理解し、その構成と運用を分析し、モジュール間のシステムリソースの占有関係を調整し、システム全体のパフォーマンスを最大化し、継続的にビジネスニーズを満たすことです。

パフォーマンス分析は、複雑な体系的な作業であり、業界では、パフォーマンス分析ツールの多くは、システムの様々なモジュールのパフォーマンスの専門的な分析を持っていますが、多くのツールの使用だけでなく、学習コストの多くをもたらす、非効率の分析、さらに重要なのは、データが相互運用することはできません、グローバルな分析することはできませんし、チューニングのためのモジュールの問題をターゲットにすることができるために非常に熟練した経験に頼る必要があります。開発者は緊急に、より包括的な専門的かつインテリジェントなシステムチューニングツールを必要としています。

DevKit システム性能分析ツールとは何ですか?

DevKit性能分析ツールは、これらのニーズを満たすために設計され、DevKit性能分析ツールは、システム性能分析ツール、JAVA性能分析ツール、システム診断ツールを含むツールセットであり、この記事では、システム性能分析ツールに焦点を当てます。

システム性能分析ツールは、主にサーバーシステムの性能分析のために、サーバーのハードウェア、オペレーティングシステム、プロセス/スレッド、関数およびその他のレベルの性能データを収集することができます、システム性能指標の分析、システムのボトルネックとホット機能を検索し、最適化の推奨事項を提供し、ユーザーを支援するために迅速にソフトウェアのパフォーマンスの問題を検索し、対処することができます。業界のパフォーマンス分析ツールと比較して、ツールは主に次の機能を達成するために強化されています:

  • ハードウェアとソフトウェアを組み合わせた分析機能を提供し、ハードウェアのパフォーマンス指標の収集と分析だけでなく、ソフトウェア層におけるハードウェアのパフォーマンスのパフォーマンス、ユーザーがシステム全体の動作をより包括的に理解することができます。
  • 体系的な分析により、各レベルの指標間の相関関係を確立し、ユーザーの視点からそれらを提示することで、ユーザーが問題を特定しやすくなります。
  • Kunpengプロセッサーのパフォーマンス最適化におけるファーウェイの経験を組み合わせて、最適化のアイデアと提案を提供し、ユーザーが問題をすばやく見つけて修正できるようにします。

DevKit システム性能分析ツールの特徴は何ですか?

システム性能分析ツールは、3つのモジュールと9つの主要機能を提供します:

  • 一般分析:システム全体のハードウェアおよびソフトウェア構成情報を収集および分析し、パフォーマンスのボトルネックを特定し、異常なインデックス項目に対する最適化提案を提供します;
  • システムコンポーネントの分析:各コンポーネントの性能ボトルネックは、システムの主要コンポーネントが露出するハードウェア指標と、システムソフトウェアの動作指標(マイクロアーキテクチャ、アクセスメモリ、I/O分析を含む)を組み合わせて分析されます;
  • 専門分析:特定のパフォーマンス問題に対するテーマ別分析。

その中でも、パノラマ解析、ホットスポット機能解析、リソーススケジューリング解析は、開発者が最も頻繁に使用する解析シナリオであり、本稿ではこれらの機能について詳しく紹介します。

パノラマ分析 - システム構成と全体的なパフォーマンスの包括的なビュー

システムのハードウェアとソフトウェアの構成情報、およびシステムのCPU、メモリ、ストレージI/O、ネットワークI/O、その他のリソースの動作を収集することで、対応する使用率、飽和状態、エラー数、その他の指標を取得し、システム性能のボトルネックを特定します。システムメトリクスのいくつかについては、現在のベンチマーク値と最適化の経験に基づいて、最適化の推奨が提供されます。

サーバーシステムのトポロジーと構成、および各種サブシステムの表示をサポートします。ユーザーがシステム構成を素早く理解するのに便利で、構成に不合理な点があるかどうか、例えば:メモリバーの構成位置が不合理。

USEの性能分析手法に基づき、システムのCPU、メモリ、ディスクI/O、ネットワークI/Oなどのリソースの使用率、飽和度、エラーなどの指標を取得することで、システムのボトルネックを特定します。

システム性能とシステム構成を包括的に分析し、性能のボトルネックとなる箇所を検出し、最適化の推奨と修正を行います。

ビッグデータ、データベース、分散ストレージのシナリオでは、ハードウェア構成、システム構成、コンポーネント構成がチェックされ、最適でない構成項目が表示されます。

ホット関数解析 - C/C++プログラムのボトルネックを直接特定します。

C/C++プログラム・コードの解析をサポートしてパフォーマンスのボトルネックを特定し、対応するホット関数やソース・コード、アセンブリ命令に関する情報を提供します。関数呼び出しの関係を示し、コールド/ホット・フレーム図から最適化パスを発見します。

ホットスポット関数は、そのアセンブリ命令とソースコードに関連付けることができ、ホットスポット命令またはホットスポットコードブロックは明確に識別されるため、ユーザは直接最適化の目標を定めることができます。

リソース・スケジューリング分析 - CPUコアとプロセス・ステート・スイッチのトラッキング

CPUのスケジューリングイベント(各時点でのCPUコアの動作状態、各時点でのプロセス/スレッドの動作状態、プロセス/スレッドの状態切り替えなど)を基に、システムリソースのスケジューリングを分析します。これらの情報を基に、システムコールの多発、プロセス/スレッドの不当なロックや同期の有無を分析し、最適化のポイントを見つけることができます。

プロセス/スレッドスケジューリング情報を分析し、頻繁なスレッドコンテキストスイッチやタイムリーなCPUスケジューリングなどのパフォーマンス問題を特定します。NUMAノードにおけるプロセス/スレッドの切り替えを分析し、頻繁な切り替えに対するバインディングコアの最適化提案を提供します。

アイドル、実行中など、さまざまな時点でのCPUコアの動作状態を分析。実行中の場合、CPUコア上で実行されているプロセス/スレッド情報を関連付けることができます。各CPUコア上のスレッドの実行状態のハイライトをサポートします。

図 10 プロセス/スレッドのランタイム・ステータス

wait_blocked、wait_for_cpu、running など、さまざまな時点でのプロセス/スレッドの実行状態を分析することで、頻繁にコンテキストスイッチが発生するスレッドの特定が容易になります。

DevKit パフォーマンス分析ツールのその他の機能は何ですか?

DevKitは、開発者のR&Dワークフロー全体をワンストップで提供する開発キットです。 2019年の発売以来、DevKitはコード開発、マイグレーション、コンパイル、テスト、チューニング、診断など、R&Dワークフロー全体をカバーするツールセットを提供し、開発者のミニマムな開発を支援しています。

その中で、 DevKit性能分析ツールは、システム性能分析、Java性能分析、Kunpengプラットフォーム上のシステム診断をサポートし、一般的なアプリケーションシナリオの下で、システムパノラマと性能収集・分析機能を提供し、チューニングエキスパートシステムに基づいて最適化の提案を行います。同時に、チューニングアシスタントを提供し、ユーザーが迅速にシステム性能をチューニングできるようサポートします。

この記事で説明したシステム性能分析は、DevKitの性能分析ツールの主な機能の1つだけで、より多くの実際の経験に開発者を容易にするために、上記の機能を使用するには、DevKitはまた、リモートラボを提供し、ワンストップのプリインストールされたDevKitの開発環境は、無料トライアルに適用されます。

さらに、DevKit のパワーについてもっと知りたい方は、開発者の方は DevKit エリアにお越しください。

Read next