タグ

ブックマーク / techblog.zozo.com (2)

  • SQL Serverで断続的に発生するクエリタイムアウトの原因を調査した話 - ZOZO TECH BLOG

    こんにちは。ZOZOテクノロジーズの廣瀬です。 弊社ではサービスの一部にSQL Serverを使用しています。先日、「普段は数10ミリ秒で実行完了するクエリが、たまに5秒間実行され続けて最終的にタイムアウトするので調査して欲しい」という依頼を受けました。調査方法を整理して最終的に原因の特定とタイムアウト発生の防止まで実現できたので、一連の流れとハマった点、今回のようなケースでの調査に使える汎用的な調査手法をご紹介したいと思います。 SQL Server以外のRDBMSをお使いの方にも、「SQL Serverではこんな情報がとれるのか。MySQLだったら〇〇でとれる情報だな」というように比較しながら読んでいただけると嬉しいです。 初めに浮かんだ仮説 依頼を受けて最初に思い浮かんだのは、「ブロッキングが起きているのでは」という仮説でした。そこで、拡張イベントを使ってブロッキングを検出できる状態

    SQL Serverで断続的に発生するクエリタイムアウトの原因を調査した話 - ZOZO TECH BLOG
  • SQL Serverにおけるインデックスの再構成と再構築の性能比較 - ZOZO TECH BLOG

    こんにちは。開発部基幹SREチームの廣瀬です。 弊社では、システムの一部にSQL Serverを使用しています。 記事では、SQL Serverにおけるインデックスのメンテナンス方法である再構成と再構築について、それぞれを実行した場合のクエリ性能の比較結果をご紹介したいと思います。 比較を実施するに至った背景の前に、まずはインデックスの再構成と再構築について説明したいと思います。 インデックスの再構成と再構築 インデックス SQL Serverのインデックスについて簡単にご紹介します。下図は、SQL Serverのデータ構造の概略図です。 テーブルは、1つ以上のインデックスから構成されます。なお、ヒープという別のデータ構造だけからテーブルを構成することもできますが、今回は省略します。 インデックスは複数のページから構成されます。各ページは論理的につながりを持ちB-Treeを形成します。

    SQL Serverにおけるインデックスの再構成と再構築の性能比較 - ZOZO TECH BLOG
  • 1