SlideShare a Scribd company logo
SQL Azure
その 裏側 に迫る

小澤 真之 (@Masayuki_Ozawa)
本日のお題

     リモートデスクトップで接続できない


   使用できる動的管理ビューが限定されている

       DBCC コマンドは使用できない

   この制約の中で CPU 数 / データファイル数等の情報を
取得してみようという 誰得情報 をお送りしてみたいと思います。

                                   2
今回取得した情報
   スケジューラー (CPU) 数

 ユーザー DB のデータファイルの数

  tempdb のデータファイルの数




                      3
スケジューラー (CPU) 数


※ざっくりいうと CPU コア数 = スケジューラー数   4
スケジューラー数
• SQL Server 2012 だと…




                        sys.dm_os_schedulers




    サーバーのプロパティ
                                               5
スケジューラー数
• SQL Database ではこれらの情報は取得できない…。




   ということで、全力で負荷をかけて
 違うことろから情報を持ってきてみました。



                                   6
使用したツール
Enzo SQL Baseline
                                  特定の SQL を複数スレッドを
                                  使用して同時に実行することが
                                  できるツール


                                    このツールでぶん回します
                                      (500スレッドで
                                      同時に INSERT)
          http://enzosqlbaseline.codeplex.com/       7
スケジューラー数の取得方法
• 負荷をかけている最中に [sys.dm_exec_requests] の
  [scheduler_id] を取得
 – 接続単位にどのスケジューラーを使用しているか確認できる




      2012/09 に取得              2011/06 に取得


         7~8コアぐらいはあるらしい                      8
ついでに NUMA ノード数
• 負荷をかけている最中に [sys.dm_exec_connections] の
  [node_affinity] を取得
  – 接続単位にどの NUMA ノードに接続がされているかを確認できる




                  2012/09 に取得

          2 NUMA ノード構成らしい
         おそらく 2 物理 CPU ソケット
           2 CPU : 8 コア環境かも
                                            9
参考)使用したクエリ
-- スケジューラー数
SELECT
       scheduler_id,
       COUNT(*) AS RequestCount
FROM
       sys.dm_exec_requests
GROUP BY
       scheduler_id


-- NUMA ノード数
SELECT
        node_affinity
        , COUNT(*)
FROM
        sys.dm_exec_connections
GROUP BY
        node_affinity




                                  10
データファイル数


           11
データファイル数
• SQL Server 2012 だと…




                        sys.database_files




    データベースのプロパティ

                                             12
データファイル数
• SQL Database ではこれらの情報は取得できない…。




     ということで、全力でぶん回して
           (以下略)



                                   13
データファイル数の取得方法
• 大量のロックを取得してロックがかかっているページ番号を
  [sys.dm_tran_locks] から取得してグルーピング
 – ファイル ID : ページ ID の形式の情報          が取得できる



                               2011/06 に取得
             2012/09 に取得




        データファイルは 10 ファイルで
           構成されているらしい
               ※ファイル ID 2 はログファイル            14
参考)使用したクエリ
SET NOCOUNT ON
CREATE TABLE [dbo].[Table_1](
   [Col1] [uniqueidentifier] NOT NULL,
   [Col2] [int] NULL,
   [Col3] [char](4500) NULL,
 CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED
([Col1] ASC)
)
BEGIN TRAN
DECLARE @i int = 0
WHILE (@i < 100000)
BEGIN
   INSERT INTO Table_1 VALUES(NEWID(), @i , NEWID())
   SET @i += 1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
DELETE FROM Table_1
SELECT DISTINCT CONVERT(int, LEFT(resource_description,PATINDEX('%:%',resource_description) -1))
FROM sys.dm_tran_locks
WHERE resource_type = 'PAGE'
ORDER BY 1
ROLLBACK TRAN
DROP TABLE [dbo].[Table_1]
SET TRANSACTION ISOLATION LEVEL READ COMMITTED




                                                                                                   15
tempdb のデータファイル数


                   16
tepmdb のデータファイル数
• SQL Server 2012 だと…



                        sys.database_files




    データベースのプロパティ
                                             17
tepmdb のデータファイル数
• SQL Database ではこれらの情報は取得できない…。




     ということで、全力でぶん回して
           (以下略)



                                   18
tepmdb のデータファイル数の取得方法
• 一時テーブルに大量にデータを挿入して、ページに対しての I/O 同期待
  ちを発生させて、裏でその情報を取得
 – DB ID : ファイル ID : ページ ID の形式の情報      が取得できる




             2012/09 に取得             2011/06 に取得




         データファイルは 10 ファイルで
            構成されているらしい
              ※2:1がないので 11 ファイルの可能性も               19
参考)使用したクエリ
-- 負荷用
SET NOCOUNT ON

CREATE TABLE [dbo].[#Table_1](
   [Col1] [uniqueidentifier] NOT NULL,
   [Col2] [int] NULL,
   [Col3] [char](3000) NULL,
CONSTRAINT [PK_#Table_1] PRIMARY KEY CLUSTERED
([Col1] ASC)
)

DECLARE @i int = 0
WHILE (@i < 400000)
BEGIN
  INSERT INTO #Table_1 VALUES(NEWID(), @i , NEWID())
  SET @i += 1
END

ALTER INDEX PK_#Table_1 ON #Table_1 REBUILD
UPDATE #Table_1 SET Col1 = NEWID()

DELETE FROM #Table_1

DROP TABLE [dbo].[#Table_1]


-- 情報取得用
SET NOCOUNT ON
CREATE TABLE #tmp(Col1 nvarchar(100), Col2 nvarchar(100))

WHILE (0=0)
BEGIN
INSERT INTO #tmp
SELECT wait_type, wait_resource
FROM sys.dm_exec_requests
WHERE wait_type IS NOT NULL AND wait_resource <>''
END


SELECT DISTINCT LEFT(COl2,PATINDEX('2:%',Col2)+3)
FROM #tmp
WHERE LEFT(COl2,PATINDEX('2:%',Col2)) = 2
ORDER BY 1




                                                            20
まとめ
SQL Database は以下のような構成になっているかも
      CPU コア数        7~8
      物理ソケット数        2
      データファイル数       10
      tempdb ファイル数   10

      試行錯誤するとこれ以外にも
     いろいろな情報が取れますので
     こんな情報も取れるというものが
    ありましたらぜひ教えてください♪             21

More Related Content

PDF
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
 
PDF
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
Insight Technology, Inc.
 
PDF
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
Insight Technology, Inc.
 
PDF
COD2012 T2/T3 : 実機で試す SQL Server の現状取得
Masayuki Ozawa
 
PDF
SQL Server パフォーマンス問題対処 Deep Dive
Koichiro Sasaki
 
PDF
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
Masayuki Ozawa
 
PPTX
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
 
PPTX
SQL Server 入門
Tsuyoshi Kitagawa
 
Sql server エンジニアに知ってもらいたい!! sql server チューニングアプローチ
Masayuki Ozawa
 
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
Insight Technology, Inc.
 
C11,12 SQL Server 2012 Performance Tuning by Yukio Kumazawa
Insight Technology, Inc.
 
COD2012 T2/T3 : 実機で試す SQL Server の現状取得
Masayuki Ozawa
 
SQL Server パフォーマンス問題対処 Deep Dive
Koichiro Sasaki
 
COD2012 C3 : SQL Server 2012で振り返る、SQLOSのスレッド スケジューリング
Masayuki Ozawa
 
ここからはじめる SQL Server の状態取得
Masayuki Ozawa
 
SQL Server 入門
Tsuyoshi Kitagawa
 

What's hot (20)

PDF
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
Masayuki Ozawa
 
PDF
SQL Server 2014 In Memory OLTP Overview
Masayuki Ozawa
 
PDF
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
Insight Technology, Inc.
 
PDF
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
 
PDF
SQL Server パフォーマンスカウンター
Masayuki Ozawa
 
PDF
Sql server よく聞く設定とその効果
Masayuki Ozawa
 
PDF
Sql server 2012 の新機能を 3 つの視点でご紹介(大阪版)
Masayuki Ozawa
 
PDF
SQL Server 2014 データベースエンジン新機能
Masayuki Ozawa
 
PPTX
Sql server 運用 101
Masayuki Ozawa
 
PDF
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
Masayuki Ozawa
 
PDF
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
貴仁 大和屋
 
PDF
C13 SQL Server2012知られざるTips集 by 平山理
Insight Technology, Inc.
 
PPTX
Sql server これだけはやっておこう 最終版
elanlilac
 
PDF
SQL Server 2008/2008 R2/ 2012(/ 2014) 新機能
Koichiro Sasaki
 
PPTX
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
 
PDF
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 
PDF
Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介
Masayuki Ozawa
 
PDF
Sql server 構築 運用 tips
Masayuki Ozawa
 
PDF
Sql server浅く広く
okumar savurou
 
PDF
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
Masayuki Ozawa
 
COD2012 T2/T3 : 実機で試す SQL Server の現状取得 ハンズオンマニュアル
Masayuki Ozawa
 
SQL Server 2014 In Memory OLTP Overview
Masayuki Ozawa
 
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
Insight Technology, Inc.
 
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
 
SQL Server パフォーマンスカウンター
Masayuki Ozawa
 
Sql server よく聞く設定とその効果
Masayuki Ozawa
 
Sql server 2012 の新機能を 3 つの視点でご紹介(大阪版)
Masayuki Ozawa
 
SQL Server 2014 データベースエンジン新機能
Masayuki Ozawa
 
Sql server 運用 101
Masayuki Ozawa
 
db tech showcase 2019 SQL Database Hyperscale 徹底分析 - 最新アーキテクチャの特徴を理解する
Masayuki Ozawa
 
SQL Server運用実践 - 3年間80台の運用経験から20の教訓
貴仁 大和屋
 
C13 SQL Server2012知られざるTips集 by 平山理
Insight Technology, Inc.
 
Sql server これだけはやっておこう 最終版
elanlilac
 
SQL Server 2008/2008 R2/ 2012(/ 2014) 新機能
Koichiro Sasaki
 
Sql server のバックアップとリストアの基礎
Masayuki Ozawa
 
オンプレのDbaがazureのデータベースを使ってみた
Masayuki Ozawa
 
Sql server 2012 の新機能を使ってみよう。db 管理者向け機能の紹介
Masayuki Ozawa
 
Sql server 構築 運用 tips
Masayuki Ozawa
 
Sql server浅く広く
okumar savurou
 
db tech showcase 2019 SQL Server 2019 最新情報 - SQL Serverの進化をまとめてお届け!
Masayuki Ozawa
 
Ad

Similar to Sql database その裏側に迫る (20)

KEY
My sql casual_in_fukuoka_vol1
Makoto Haruyama
 
PDF
Introducing Spider 20101206(DTT#7)
Kentoku
 
PDF
PostgreSQL13 新機能紹介
Satoshi Hirata
 
PDF
Spider DeNA Technology Seminar #2
Kentoku
 
PDF
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
PDF
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
PDF
PostgreSQL 12の話
Masahiko Sawada
 
PDF
[D11] SQL Server エンジニアに知ってもらいたい!! SQL Server チューニングアプローチ by masayuki ozawa
Insight Technology, Inc.
 
PPTX
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
 
PDF
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
 
DOC
組み込みDb empressホワイトペーパー
ITDORAKU
 
PPTX
Sql world を支える技術
Oda Shinsuke
 
PPTX
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
Michitoshi Yoshida
 
PDF
PostgreSQL Conference Japan 2021 B2 Citus 10
Noriyoshi Shinoda
 
PDF
SQL Azure のシームレスな管理
junichi anno
 
PPTX
Impala 2.0 Update 日本語版 #impalajp
Cloudera Japan
 
PDF
Mongodb 紹介
Ryo Matsumura
 
PDF
WindowsでMySQL入門
Hidenori Ishii
 
PDF
PerlとSQLのいろいろ
Takuya Tsuchida
 
My sql casual_in_fukuoka_vol1
Makoto Haruyama
 
Introducing Spider 20101206(DTT#7)
Kentoku
 
PostgreSQL13 新機能紹介
Satoshi Hirata
 
Spider DeNA Technology Seminar #2
Kentoku
 
RとSQLiteで気軽にデータベース作成
弘毅 露崎
 
超実践 Cloud Spanner 設計講座
Samir Hammoudi
 
PostgreSQL 12の話
Masahiko Sawada
 
[D11] SQL Server エンジニアに知ってもらいたい!! SQL Server チューニングアプローチ by masayuki ozawa
Insight Technology, Inc.
 
[db tech showcase Tokyo 2017] A15: レプリケーションを使用したデータ分析基盤構築のキモ(事例)by 株式会社インサイトテ...
Insight Technology, Inc.
 
データマイニング+WEB勉強会資料第6回
Naoyuki Yamada
 
組み込みDb empressホワイトペーパー
ITDORAKU
 
Sql world を支える技術
Oda Shinsuke
 
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
Michitoshi Yoshida
 
PostgreSQL Conference Japan 2021 B2 Citus 10
Noriyoshi Shinoda
 
SQL Azure のシームレスな管理
junichi anno
 
Impala 2.0 Update 日本語版 #impalajp
Cloudera Japan
 
Mongodb 紹介
Ryo Matsumura
 
WindowsでMySQL入門
Hidenori Ishii
 
PerlとSQLのいろいろ
Takuya Tsuchida
 
Ad

More from Masayuki Ozawa (20)

PDF
Sql database managed instance overview and internals
Masayuki Ozawa
 
PDF
Power apps formula cheat sheet
Masayuki Ozawa
 
PDF
K8s install (single cluster)
Masayuki Ozawa
 
PDF
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
Masayuki Ozawa
 
PDF
Managed Instance チートシート
Masayuki Ozawa
 
PDF
Pacemaker 操作方法メモ
Masayuki Ozawa
 
PDF
Windows エンジニア向け sql server on linux のためのスキルアップデート
Masayuki Ozawa
 
PDF
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Masayuki Ozawa
 
PDF
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Masayuki Ozawa
 
PDF
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
PPTX
DBA から開発者への情報提供
Masayuki Ozawa
 
PPTX
Sql server 2016 ctp 3.0 新機能
Masayuki Ozawa
 
PDF
SQL Server 簡易診断サービス ご紹介資料
Masayuki Ozawa
 
PDF
SQL Server 現状診断サービス ご紹介資料
Masayuki Ozawa
 
PDF
A25 sql server data page structure deep dive
Masayuki Ozawa
 
PDF
Data consistency 入門 data partitioning ガイダンス
Masayuki Ozawa
 
PDF
Sql server data store data access internals
Masayuki Ozawa
 
PDF
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
 
PDF
Oracle と sql server 比べてみよう (sql server)
Masayuki Ozawa
 
PDF
Sql database 基本構成と直近で追加されていた機能の紹介
Masayuki Ozawa
 
Sql database managed instance overview and internals
Masayuki Ozawa
 
Power apps formula cheat sheet
Masayuki Ozawa
 
K8s install (single cluster)
Masayuki Ozawa
 
de:code 2018 DA06 SQL Server 管理者におくる SQL Server on Linux Tips
Masayuki Ozawa
 
Managed Instance チートシート
Masayuki Ozawa
 
Pacemaker 操作方法メモ
Masayuki Ozawa
 
Windows エンジニア向け sql server on linux のためのスキルアップデート
Masayuki Ozawa
 
Dal001 sql server 2017 事始め ~ 進化を続ける sql server の最新情報を一挙紹介
Masayuki Ozawa
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Masayuki Ozawa
 
Sql server 2016 always on 可用性グループ new features
Masayuki Ozawa
 
DBA から開発者への情報提供
Masayuki Ozawa
 
Sql server 2016 ctp 3.0 新機能
Masayuki Ozawa
 
SQL Server 簡易診断サービス ご紹介資料
Masayuki Ozawa
 
SQL Server 現状診断サービス ご紹介資料
Masayuki Ozawa
 
A25 sql server data page structure deep dive
Masayuki Ozawa
 
Data consistency 入門 data partitioning ガイダンス
Masayuki Ozawa
 
Sql server data store data access internals
Masayuki Ozawa
 
Always on 可用性グループ 構築時のポイント
Masayuki Ozawa
 
Oracle と sql server 比べてみよう (sql server)
Masayuki Ozawa
 
Sql database 基本構成と直近で追加されていた機能の紹介
Masayuki Ozawa
 

Sql database その裏側に迫る