sql >> データベース >  >> RDS >> Sqlserver

ワーカースレッドが不足するトラブルシューティング

    インスタンスは同時使用とともにトラフィックが増えるため、セッションリクエストの処理に必要なワーカースレッドが不足する可能性があります。これは、セッションがリクエストを処理するためにワーカースレッドが割り当てられるのを待機することを意味します。処理時間が遅くなり、SOS_SCHEDULER_YIELD、THREADPOOL、CXPACKETなどの待機タイプが発生する可能性があります。

    通常、この問題は次のいずれかが原因で発生します。

    • 多くのアクティブな接続
    • 多くの長時間実行クエリ
    • 並列処理を使用したクエリ
    • サーバーCPUはワークロードに対して十分に強力ではありません

    最も一般的な救済策は次のとおりです。

    • 接続数を減らす
    • 長時間実行されるクエリを特定して調整する
    • 高度な並列処理を使用してクエリを識別および調整します
    • CPU待機タイプを使用してクエリを識別および調整します
    • CXPACKET待機タイプを使用してクエリを識別および調整します
    SpotlightCloudのSQL-RunningOut of Threadsアラームは、インスタンスがセッション要求を処理するための作業スレッドを使い果たしているときにユーザーに通知します。


    Spotlight Cloud診断ダッシュボードを使用して問題のトラブルシューティングを行います:

    1. 接続数を減らします。セッションダッシュボードにアクセスして、アクティビティの量を特定します。

    2. 長時間実行されるクエリを特定して調整します。

      a。ワークロードアナライザダッシュボードを使用して、アクティブ時間別の上位SQLを確認します。 [SQLステートメント]ディメンションをクリックして、アクティブ時間メトリックでクエリを並べ替えます。


      b。ワークロードアナライザダッシュボードを使用して、並列度別に上位のSQLを確認します。クエリを調整するか、クエリステートメント内でクエリヒントを使用して、並列度の使用を減らします。

      I.ツリーからSQLステートメントディメンションを強調表示し、ハンバーガーアイコンをクリックして、メトリックセレクターを開きます。


      II。 [並列度]フィールドを見つけて有効にします。マウスを使用して、フィールドをフィールドリストの一番上に向かってドラッグします


      III。並列度の列で並べ替えて、スレッド数が最も多いクエリを特定します。


      c。ワークロードアナライザーを使用して、CPU待機タイプで上位SQLをフィルター処理します。バナーの「CPU待機タイプ」アイコンをクリックして、「SQLステートメント」ディメンションを展開します。それに応じてクエリを調整します。


      d。ワークロードアナライザダッシュボードを使用して、上位SQLをその他の待機タイプでフィルタリングします。バナーの[その他の待機タイプ]アイコンをクリックします。 SQLステートメントディメンションを展開します。 [リソースの内訳]ペインを使用して、CXPACKET待機タイプのクエリを識別します。それに応じてクエリを調整します。
    Spotlight Cloudを無料でお試しください!


    1. MMOゲームとデータベース設計

    2. OracleのNEW_TIME()関数

    3. アンドロイドを使用してユーザーがSqliteデータベースに存在することを確認する方法は?

    4. MIN/MAXとORDERBYおよびLIMIT