キューの削減

このトピックでは、ウェアハウスの所有者または管理者がキューを削減して、ウェアハウスで実行されているクエリのパフォーマンスを向上させる方法について説明します。

ウェアハウスに同時に送信されるクエリが多すぎると、ウェアハウスのコンピューティングリソースが使い果たされ、リソースが使用可能になるまで後続のクエリがキューに入れられます。クエリを開始する前にキューで待機する必要がある場合は、クエリを送信してから結果を取得するまでの時間が長くなります。

注釈

このトピックで提供されている診断クエリを実行するには、 共有 SNOWFLAKE データベースへのアクセス が必要です。デフォルトでは、 ACCOUNTADMIN ロールのみがクエリを実行するために必要な権限を持っています。

キューの検出

Snowsight

特定のウェアハウスでキューが発生しているかどうかを判断するには、

  1. Snowsight にサインインします。

  2. Admin » Warehouses に移動します。

  3. ウェアハウスを選択します。

  4. Warehouse Activity チャートでは、 Queued load に関連付けられた色を使用してキューを識別します。

  5. バーの高さのパターンを探して、キューが使用量の急増に関連しているかどうかを判断します。

SQL

クエリ: キューのあるウェアハウス

このクエリは、先月キューにあったウェアハウスを日付順に並べ替えてリストします。

SELECT TO_DATE(start_time) AS date
  ,warehouse_name
  ,SUM(avg_running) AS sum_running
  ,SUM(avg_queued_load) AS sum_queued
FROM snowflake.account_usage.warehouse_load_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
HAVING SUM(avg_queued_load) > 0;
Copy

QUERY_HISTORY ビュー に対してクエリを記述して、クエリがキューで費やす時間を計算することもできます。

キューを減らすためのオプション

ウェアハウスのキューを停止するには、いくつかのオプションがあります。

  • 通常のウェアハウス(つまり、マルチクラスターウェアハウス以外)の場合は、追加のウェアハウスを作成して、それらの間でクエリを分散することを検討してください。特定のクエリが使用量の急増を引き起こしている場合は、それらのクエリの移動に注力します。

  • ウェアハウスを マルチクラスターウェアハウス に変換することを検討してください。そうすると、需要が急増したときにウェアハウスが追加のコンピューティングリソースを弾力的にプロビジョニングできるようになります。マルチクラスターウェアハウスには、Snowflakeの Enterprise Edition が必要です。

  • マルチクラスターウェアハウスをすでに使用している場合は、クラスターの最大数を増やします。

コストの考慮事項

マルチクラスターウェアハウスの実行がクレジットの消費に与える影響については、 マルチクラスターサイズとクレジット使用状況 をご参照ください。

自動スケーリングモードでマルチクラスターウェアハウスを実行している場合は、 スケーリングポリシー を使用してコストを管理できます。エコノミースケーリングポリシーは、追加のクラスターを開始するのではなく、実行中のクラスターを完全にロードし続けることにより、クラスターの弾力性よりもクレジットを節約することを優先します。そのため、クエリがキューに入れられ、完了するまでに時間がかかる場合があります。

キューを減らすようにウェアハウスを構成する方法

通常のウェアハウス

クエリを分散できる新しいウェアハウスを作成するには、 Snowsight にサインインして Admin » Warehouses を選択します。 CREATE WAREHOUSE コマンドを使用することもできます。

マルチクラスターウェアハウス

既存のウェアハウスをマルチクラスターウェアハウスに変換するか、既存のウェアハウスに対するクラスターの最大数を増やすには、

  1. Snowsight にサインインします。

  2. Admin » Warehouses に移動します。

  3. ウェアハウスを見つけて、 . . . » Edit を選択します。

  4. マルチクラスターウェアハウスに変換する場合は、 Multi-cluster Warehouse オプションをオンにします。このオプションが表示されない場合は、Enterprise Edition以上にアップグレードしてください。

  5. Max Clusters ドロップダウンを使用して、クラスターの最大数を調整します。