PERF03-BP03 データストアのパフォーマンスメトリクスを収集・記録する
データストアに関連するパフォーマンスメトリクスを追跡して記録することで、データ管理ソリューションのパフォーマンスを把握できます。こうしたメトリクスは、データストアの最適化を行い、ワークロードの要件が満たされていることを確認し、ワークロードのパフォーマンスを明確に把握するのに役立ちます。
一般的なアンチパターン:
-
メトリクスの検索に手動ログファイルのみを使用している。
-
チームが使用する内部ツールにのみメトリクスを発行しており、ワークロードの全体像を把握できていない。
-
一部のモニタリングソフトウェアで記録されるデフォルトのメトリクスのみを使用している。
-
問題が発生したときにだけメトリクスを確認している。
-
システムレベルのメトリクスのみをモニタリングし、データアクセスや使用状況に関するメトリクスを把握していない。
このベストプラクティスを活用するメリット:パフォーマンスのベースラインを確立すると、ワークロードの通常の動作と要件を理解するのに役立ちます。異常なパターンをより迅速に特定してデバッグできるため、データストアのパフォーマンスと信頼性が向上します。
このベストプラクティスを活用しない場合のリスクレベル: 高
実装のガイダンス
データストアのパフォーマンスをモニタリングするには、一定期間にわたって複数のパフォーマンスメトリクスを記録する必要があります。これにより、異常を検出できるだけでなく、ビジネスメトリクスに照らしてパフォーマンスを測定して、ワークロードのニーズを満たしていることを確認できます。
メトリクスは、データストアをサポートする基盤システムとデータストア自体の両方のメトリクスが含まれている必要があります。基盤システムのメトリクスには、CPU 使用率、メモリ、使用可能なディスク容量、ディスク I/O、キャッシュヒット率、ネットワークのインバウンドとアウトバウンドに関するメトリクスなどがあり、データストアのメトリクスには 1 秒あたりのトランザクション数、上位のクエリ、平均クエリレート、応答時間、インデックス使用率、テーブルロック、クエリのタイムアウトの数、開いている接続の数などがあります。このデータは、ワークロードのパフォーマンスやデータ管理ソリューションの使用状況を理解するために不可欠です。これらのメトリクスをデータ駆動型アプローチの一部として使用し、ワークロードのリソースを調整および最適化します。
データベースのパフォーマンスに関連するパフォーマンスの測定値を記録するツール、ライブラリ、システムを使用します。
実装手順
-
データストアで追跡すべき主要なパフォーマンスメトリクスを特定します。
-
承認されたロギングおよびモニタリングソリューションを使用して、これらのメトリクスを収集します。Amazon CloudWatch
では、アーキテクチャ内のリソース全体のメトリクスを収集できます。また、カスタムメトリクスを収集および発行して、ビジネスメトリクスまたは導出メトリクスを表面化することも可能です。CloudWatch またはサードパーティーのソリューションを使用して、しきい値を超過したことを示すアラームを設定します。 -
データストアのモニタリングに、パフォーマンスの異常を検出する機械学習ソリューションが役立つかどうかを確認します。
-
Amazon DevOps Guru for Amazon RDS は、パフォーマンス上の問題を可視化し、是正措置についてのレコメンデーションを提供します。
-
-
セキュリティと運用の目標に合わせて、モニタリングおよびログ記録ソリューションのデータ保持を設定します。
リソース
関連ドキュメント:
関連動画:
-
AWS re:Invent 2022 - Performance monitoring with Amazon RDS and Aurora, featuring Autodesk
-
Database Performance Monitoring and Tuning with Amazon DevOps Guru for Amazon RDS
-
AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3
-
Best Practices for Monitoring Redis Workloads on Amazon ElastiCache
関連する例: