Amazon Redshiftクラスタのパフォーマンスと健全性を確認できる『データベースのパフォーマンス』とそのメトリクスが追加されました

2018.05.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

Amazon Redshiftは、クラスタのパフォーマンスと健全性を確認できるAmazon CloudWatchの4つの新しいメトリックが追加されました。これらのメトリックはRedshiftクラスタのパフォーマンスを監視し、ワークロード管理の設定を調整してクエリのパフォーマンスを向上させるためのビューを提供します。また、コンソール上でこれらのメトリクスを可視化する[データベースのパフォーマンス]タブが追加されました。新しい監視メトリックは、すべてのリージョンで最新ビルド1.0.2058で利用できます。

データベースのパフォーマンスとは

昨年の re:Invent2017のセッション ”ABD327_Migrating Your Traditional Data Warehouse to a Modern Data Lake” にて紹介されていたEnhanced Monitoringがついにリリースされました。

※ 上記のセッション(ABD327)の日本語レポートも書いています。

データベースのパフォーマンスを可視化、メトリクスを監視することで、クエリの待ち時間とスループットを監視してワークロードを最適化できるようになります。

  • クエリのスループットメトリックを使用してAmazon Redshiftクラスタを最適化してパフォーマンスを最大限に高める
  • データベースとワークロードのメトリックにアクセスして、クラスタのパフォーマンスをより深く把握する
  • Amazon SNS経由でアラートと通知を取得する

データベースのパフォーマンスの可視化

これらのメトリックは、Amazon Redshiftコンソールからグラフィカル形式で直接表示できます。左側のメニューで[クラスタ]をクリックし、監視するクラスタを選択し、[データベースのパフォーマンス]タブをクリックしてこれらのメトリックを表示します。

※ 執筆現在では、WLMキュー別のクエリのスループット/WLMキュー別のクエリの期間が表示されないようです。

追加されたメトリクスは以下のとおりです。

  • クエリのスループット(QueriesCompletedPerSecond)
  • クエリの期間(QueryDuration)
  • WLMキュー別のクエリのスループット(WLMQueriesCompletedPerSecond)
  • WLMキュー別のクエリの期間(WLMQueryDuration)

メトリクスの詳細については、Amazon Redshift のメトリクスおよびディメンションをご覧ください。

クエリスループットは、1秒あたりに完了したクエリの平均数を測定します。Query Durationは、クエリを完了するまでの平均時間を測定します。これらのメトリックを観察することで、いつどのようにクラスタが実行されているかを簡単に判断できます。

これらのメトリクスを使用してAmazon Redshift Workload Manager(WLM)の設定を最適化したり、ETLや長期実行クエリなどのプロセスを要件に応じて異なる時間帯に構成することができます。これらのメトリックとグラフを利用して、暴走するクエリなどの潜在的な問題をすばやく診断することもできます。WLMの設定方法については、ワークロード管理の設定を参照してください。

Amazon CloudWatchを使用すると、クエリのスループットが特定のしきい値を下回った場合、またはクエリの待ち時間が異常に高くなった場合に通知アラームを設定できます。詳細については、Amazon CloudWatch アラームの作成を参照してください。

最後に

これまでは、STV_WLM_から始める仮想システムテーブルを参照する必要がありましたが、CloudWatchのメトリクスとして正式追加されたのでいざという時のトラブルシューティングに役立つはずです。執筆現在では、WLMキュー別のクエリのスループット/WLMキュー別のクエリの期間が表示されないようです。念のためWLMのクエリグループを追加してクエリを実行してみましたが表示されません。表示されるようになるまで暖かく見守ってください。