次の方法で共有


継続的なパフォーマンス最適化に向けた推奨事項

この Power Platform Well-Architected パフォーマンス効率チェックリストのレコメンデーションに適用されます:

PE:10 パフォーマンスを継続的に最適化します。 データベースやネットワーク機能など、時間の経過とともにパフォーマンスが低下するコンポーネントに焦点を当てます。

このガイドでは、継続的なパフォーマンス最適化するための推奨事項について説明します。 継続的なパフォーマンス最適化は、パフォーマンス効率を常に監視、分析、改善するプロセスです。 パフォーマンスの最適化は、ワークロードの存続期間を通じて継続的なアクティビティである必要があります。 ワークロードのパフォーマンスは、時間の経過とともに低下したり、過剰になったりする可能性があります。 考慮すべき要因には、使用パターンの変化、保存されるデータの増加、需要、機能、技術的負債などがあります。

定義

任期 説明
技術的負債 開発のプロセス中に、コードをより早く提供するために意図的に取られた非効率性、最適ではない設計の選択、またはショートカットです。
Time-to-live データの有効期限を設定するメカニズム。

主要な設計戦略

パフォーマンス効率は、ワークロードの容量が実際の使用状況と一致するときに達成されます。 パフォーマンスが高すぎるワークロードは、パフォーマンスが低いワークロードと同程度の問題を内包しています。 トレードオフは異なります。 パフォーマンスが高すぎると、コストの最適化に影響します。 パフォーマンスの低下はユーザーに影響します。 パフォーマンス効率の鍵となるのは、時間の経過に伴う監視、調整、テストです。 パフォーマンス メトリックを定期的に確認し、必要に応じて調整を行い、ワークロードが効率的であることを確認する必要があります。 パフォーマンス目標を達成するには、実装前と実装後のすべての変更をテストする必要があります。

パフォーマンス文化を育む

パフォーマンス文化とは、継続的な改善が期待され、チームが生産から学ぶ環境です。 パフォーマンスの最適化には、専門的なスキルが必要です。 ワークロード チームには、需要の増減に合わせてパフォーマンスを最適化するための適切なスキルと考え方が必要です。 また、パフォーマンスの問題が発生したときに必要な監視と修復をサポートするために、時間を割り当てる必要もあります。 これらのチームには、明確な期待値が必要です。 たとえば、パフォーマンス目標、ベースライン、偏差しきい値 (ベースラインからの逸脱が許容される範囲) は、非常に目につきやすく周知徹底される必要があります。

トレードオフ: 継続的なパフォーマンス最適化には、パフォーマンスの問題を見つけて修正するための適切なスキルと時間を持つチームが必要です。 人員をパフォーマンスに専念させると、運用コストが増加します。 人的リソースが限られている場合、継続的なパフォーマンス最適化により、他の運用タスクから時間が奪われる可能性があります。

新しいプラットフォーム機能の評価

新しいプラットフォーム機能を評価するには、最適化されたデータのクエリ方法、最新のコントロール、キャッシュ メカニズムなど、パフォーマンス効率を向上させることができる新しい機能を調べる必要があります。 新しいプラットフォーム機能により、パフォーマンス効率を向上させる道が開かれます。 プラットフォーム機能を常に最新の状態に保ち、最新のイノベーションとベスト プラクティスを確実に活用できるようにします。 これらの新しい追加からのフィードバックとパフォーマンス指標を一貫して監視して、アプローチを改善します。

最適化作業に優先順位を付ける

パフォーマンスをプロアクティブに最適化するということは、パフォーマンスの問題が発生する前に、ワークロードのパフォーマンスを改善および強化するための対策を講じることを意味します。 プロアクティブな対策には、潜在的なボトルネックの特定、パフォーマンス指標のモニタリング、最適化の実施などがあり、これによって作業負荷が効率的に動作し、望ましいパフォーマンス目標を達成できるようになります。 劣化したコンポーネント、クリティカル フロー、技術的負債の分析に基づいて、各領域に固有のパフォーマンス最適化を実装できます。 改善には、コードの変更、インフラストラクチャの調整、または構成の更新が含まれる場合があります。

劣化したコンポーネントの優先順位付け

ワークロードが進化し、使用パターンが変化すると、これらの変更は多くの場合、ワークロード内の個々のコンポーネントのパフォーマンスに影響を与えます。 データベース内のデータが増えると、クエリの実行時間が長くなり、データの取得が遅くなる可能性があります。 使用パターンを変更すると、クエリ設計が最適でなくなる可能性があります。 かつては効率的だったクエリは、ワークロードが進化するにつれて非効率的となる可能性があります。 非効率的なクエリは、過剰なリソースを消費し、データベースのパフォーマンスを低下させる可能性があります。

時間の経過とともにパフォーマンスが低下するコンポーネントのパフォーマンスを最適化するための継続的な努力を行うことが重要です。 ワークロードのパフォーマンスの問題をプロアクティブに特定して対処します。 劣化がわかっているコンポーネントに優先順位を付けることで、潜在的なパフォーマンスの問題に積極的に対処し、ワークロードの円滑な運用を確保できます。 パフォーマンス チューニングを行う手法の実装、またはリソース割り当ての最適化を検討してください。

重要なユーザー フローとシステム フローに優先順位を付ける

クリティカルなユーザー フローとシステムフローは、ワークロードの中で最も重要で優先順位の高いプロセスまたはワークフローです。 これらの重要なフローに優先順位を付けることで、ワークロードの最も重要な部分のパフォーマンスが最適化されます。 どのフローが重要であるかを知ることは、最適化作業の優先順位付けに役立ちます。 アプリケーションの最も重要な領域のパフォーマンス効率を最適化することで、投資収益率を最大限に高めることができます。 アプリケーションのクリティカル フローと最も人気のある部分を監視する必要があります。 それらをより効率的にする方法を掘り下げてください。

パフォーマンスの最適化を自動化

自動化により、反復的で時間のかかる手動プロセスを排除し、効率的に実行できます。 自動化により、人為的ミスの可能性が減り、最適化タスクの実行の一貫性が確保されます。 また、これらのタスクを自動化することで、より複雑な活動や付加価値のある活動に集中できるようになります。 自動化は、パフォーマンス テスト、展開、監視などのさまざまなタスクに適用できます。

  • 自動パフォーマンス テスト: Selenium などの自動パフォーマンス テスト ツールを使用して、さまざまなワークロードとシナリオをシミュレートします。 Power Apps テスト エンジン は、Power Apps でスタンドアロン キャンバス アプリをテストするために使用できる Power Platform CLI 内のコンポーネントです。

  • 自動展開: 自動化された展開プロセスを実装して、一貫性のあるエラーのない展開を確保します。 CI/CD (継続的インテグレーション/継続的デリバリー) ツールを使用して、展開のプロセスを自動化します。 これらのツールは、エンドポイントに対するテスト、HTTP ステータスの確認、さらにはデータの品質と変動の検証に使用する際に、パフォーマンスのボトルネックを特定する際に役立ちます。

  • 監視とアラート: 自動監視とアラート システムを設定して、パフォーマンス メトリックを継続的に監視し、逸脱や異常を検出します。 パフォーマンスの問題が検出されると、自動アラートをトリガーして、適切なチームまたは個人に通知できます。

  • インシデント管理: アラートを受信し、チケットを作成し、適切なチームにチケットを割り当てて解決する、自動化されたインシデント管理システムを導入します。 これらの手順により、パフォーマンスの問題に迅速に対処し、適切なリソースに割り当てることができます。

  • 自動診断: パフォーマンス データを分析し、パフォーマンスの問題の根本原因を特定できる自動診断ツールまたはスクリプトを開発します。 これらのツールは、パフォーマンスの問題を引き起こしているシステムの特定の領域、またはコンポーネントを特定する際に役立ちます。

  • 自動修復アクション: 特定のパフォーマンスの問題が検出されたときにトリガーできる自動修復アクションを定義して実装します。 これらのアクションには、サービスの再起動、リソース割り当ての調整、キャッシュのクリア、またはその他のパフォーマンス最適化手法の実装が含まれます。

  • 自己修復システム: 既知のパフォーマンス問題の回復プロセスを自動化することにより、システムに自己修復機能を組み込みます。 この機能には、最適なパフォーマンスを復元するために、システム構成を自動的に修正または調整することが含まれます。

技術的負債に対処する

技術的負債とは、パフォーマンスに影響を与える可能性のある、開発プロセス中に蓄積された非効率性、最適ではない設計の選択、またはショートカットを指します。 技術的負債、不明瞭なコード、過度に複雑な実装は、パフォーマンス効率の達成をより困難にする可能性があります。 技術的負債に対処するには、これらの問題を特定して解決し、ワークロードの全体的なパフォーマンスと保守性を向上させることが含まれます。 この作業には、コードのリファクタリング、データベース クエリの最適化、アーキテクチャ設計の改善、ベスト プラクティスの実装などが含まれます。 たとえば、期限に間に合わせるために技術的負債を導入した場合、時間の経過とともにパフォーマンス効率を最適化すると同時に、その技術的負債に対処する必要があります。

データベースの最適化

データベースを継続的に最適化するには、データベースが負荷を処理し、応答時間を短縮し、リソース使用率を最小限に抑えるための最適化を特定して実装する必要があります。 データベースを定期的に最適化することで、アプリケーションのパフォーマンスを向上させ、ダウンタイムを短縮し、全体的なユーザーエクスペリエンスを向上させることができます。

  • データベース クエリの最適化: データベース クエリの記述が不十分な場合、データベースのパフォーマンスが低下する可能性があります。 非効率的なフィルターは、不要なデータ処理を引き起こす可能性があります。 複雑なサブクエリ、入れ子になったクエリ、過剰な関数は、実行速度を低下させる可能性があります。 取得するデータが多すぎるクエリを書き換えます。 最も一般的または重要なデータベースクエリを特定し、最適化します。 この最適化により、クエリが高速化されます。
  • モデル設計のレビュー: データ モデルをレビューして、アプリケーションの特定の要件に合わせて最適化されていることを確認します。

Power Platform の促進

パフォーマンスの自動最適化: ソリューション チェッカーは、ベストプラクティス ルールセットに対するソリューションの静的解析チェックに基づいて、問題のあるパターンを迅速に特定するためのパフォーマンスに関する推奨事項を提供します。 これらの推奨事項を定期的に確認し、対処してください。

パフォーマンス最適化の監視: Power Platform のワークロードを Application Insights と統合して分析情報を取得し、パフォーマンスを最適化するための推奨事項を得ることができます。

Copilot Studio におけるエージェント のパフォーマンスと使用状況の分析: Copilot 分析 は、エージェントのパフォーマンスの包括的な概要を提供します。 人工知能 (AI) テクノロジを使用して、エスカレーション率、離脱率および解決率に最も影響を与えるトピックが表示されます。 会話のエンゲージメント率と成果を追跡することは、エージェントのパフォーマンス指標を測定し、改善すべき領域を発見するために不可欠です。

パフォーマンス効率チェックリスト

完全なレコメンデーションのセットを参照してください。