skillup

技術ブログ

Database

DB負荷調査のセオリー

投稿日:

DB負荷などで見ておきたいことのまとめなど。(今のプロジェクトではSQLServerを使っていますが、他のデータベースでも同じかと思います。)

参考URL

SQLServer: 現在実行中クエリのリアルタイムトラブルシューティング

現在進行形のSQLを確認

現在発行されているSQLの一覧とその状態を見るクエリです。

見るべきポイントなど

メインで見ているテーブルのデータは以下のURLを参考に。

https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-requests-transact-sql?view=sql-server-ver15

https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-sql-text-transact-sql?view=sql-server-ver15

  • spid・・セッションID
  • elapsed_sec(=time_sec)・・SQLの実行されている時間(単位:秒)
  • status・・現在のクエリの状態
  • command_text・・実行されているSQL
  • wait_time・・ブロックされているときの待ち時間
  • granted_query_memory・・キロバイト

検索条件は

となっているので、実行中で1秒以上実行されているSQL(あとは任意のSQLの検索語句)を抽出します。

コネクションの数

どの場所からどれくらいつながれているかのチェック

あまりにも多い場合、余計なSQLが発行されすぎていないか、プログラム側でcloseをつけているかなどのチェックが必要ですね・・・

メモリ消費量のの高いSQLを見る方法など

負荷の高いSQL(現在進行中ではなく、累積)

https://docs.microsoft.com/ja-jp/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql?view=sql-server-ver15

  • total_worker_time・・前回数分の実行時間
  • execution_count・・実行回数

一定の保存期間で単純に累積のSQLの実行時間などを見ていくSQLです。

SQL Server で実行された SQL を SQL で取得する方法

負荷試験の実際の実行

SQL Server 負荷試験と確認方法について

実際に負荷をかけることができるっぽいですね・・・プログラムの試験と違って負荷試験って再現が結構難しいだけにこの方法はめっちゃ助かります。

-Database

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

SQL 更新系に関して

SQL実践入門、残り2章になりましたが、いやーむずいっす。 今回は9章を進めていますがSQLはもともと検索を主な用途として発展したため、SELECT文の使用がメインになります。 ですが、UPDATE文 …

no image

SQL基礎 条件式はunionよりもcaseで

複雑な条件式があったときにcase式を使うことでパフォーマンスを向上させることができます。 ※一般にunionを使うよりも高速なことが多い。 例1 ある条件により別の列を使いたいとき、 [crayon …

no image

HAVING句について

本日はHAVINGについて。 かろうじて用法はしっており、たまに使うこともありますが、あまりしっかり理解しているとはいえない状況ですので、掘り下げてみようと思います。 WHEREとは違い、抽出した結果 …

no image

データベース設計のアンチパターン リトライ+バッチ分割+バッチの再利用不可

Contents1 リトライ1.1 デメリット1.2 対策2 バッチ分割2.1 デメリット2.2 対策3 バッチ再利用不可3.1 デメリット3.2 対策 リトライ ※OLTP=オンライントランザクショ …

no image

SQLのチューニングに関して

ここ2か月ぐらいはSQLの本でがりがり勉強してきましたね。当然復習も必要かと思いますが、だいぶいろんなことを覚えたなあという気がします。 一番勉強になった本はもちろん「達人に学ぶ SQL徹底指南書」と …