SlideShare una empresa de Scribd logo
1 de 30
SQL Server Wait Events

   Mario Broodbakker
  mario@insight-tec.co.jp
経歴
• 1987 年よりDBAとして最初はメインフレームを経験しその後、Oracle AIX
  版とWindows版に携わる
• 1997年よりBaanでPerformance & Benchmark スペシャリストとして働きそ
  の後、Compaq: Windows Oracle, SQL Server en Informix benchmarksを経
  験
• Compaq と HP: Unix、Windows Oracle パフォーマンスコンサルタント
• 2006-2009 Windows Integrity Engineering: Windows Itanium (eh, Oracle)
  benchmarks in Redmond, WA USA.
• 2002年からSQL Server 2000の解析調査を始め、ユーザセッションごとの
  wait event情報の収集やwait event tracingに携わる。後に、SQL Server
  2005についても調査 see: www.sqlinternals.com
• Wait event presentation: DBForum Lalandia 2004 (SQL Server 2000)
• SQL Server waitstuff について3つの記事を発表
    – www.simple-talk.com/sql/performance
• PGGM (Pension fund)にてDatabaseスペシャリストとして2010年
  Netherlandsに戻る: finally SQL Server DBA!
• 現在、インサイトテクノロジー在籍
wait events とは?
• SQL Server が動いていなかったら: 待機状態
• wait event が発生したら: ‘何か’ が現状のタスク
  を待ち状態にしている
• SQL Server では、待ちの発生場所を特定できる:
 –   Data file or transaction log IO
 –   Network IO
 –   Locks & Latches
 –   CPU
 –   480 以上のwait の種類がある
用途は?
• R = S +W : Response time = Service time +
  Wait time
• Response time is key for the end user. ‘R’ はオ
  ンライン response timeとなるが、‘batch’ time
  を表すこともある
• Example: response time 4 seconds は、 0.2 s
  CPU time と 3.8 seconds の IO time から構成
  されている。 Does it make sense to optimize
  CPU time? Buy faster CPUs? Build faster code?
A little bit of history..
• Oracle wait events は1994年に文書化されていて
  (Anjo Kolk)、評価を受けている。YAPP: ‘Yet
  Another Performance Profiling’ method paper.
• DBCC SQLPerf(Waitstats) 文書化されていない:
  Gert Drapers と Tom Davidson が最初に取り掛か
  る
• SQL Server 2005 以降はBOLにて公開されている
• Microsoft papers: Troubleshooting Performance
  Problems using Queues and waits (SQL server
  2005 en 2008) : Davidson ea.
Where do wait events come from?
• SOS Scheduler
  – ‘work request’ 処理中: SQL Batch または Parallel
    Query -> task
  – 1 task runs on 1 scheduler on 1 CPU until:
     • blocking call 発生: disk IO, network IO -> wait event, start
       time and type が登録される
     • Time quantum has elapsed: 4ms (always?) (scheduler and
       CPU の独占を防ぐために): SOS_SCHEDULER_WAIT (and
       SLEEP_TASK?)
  – worker thread によりtask 処理が発生: OS thread or
    Fiber (light weight pooling)
Task Flow
(from: SS2005 Practical Troubleshooting: Ken Henderson)



                                      Worker available

                       New
                                             Pending      Runna           Runni
                       Task                                                       Done
                                                           ble             ng



                                                                  Suspe
                                                                  nded



                                                                  PreEm
                                                                   ptive
Wait time
• wait time の 2 つの要素:
  – Resource wait time
     • resource が利用可能になるまでの時間。‘suspended’ 状態
       から ‘ runable’ になるまでの時間。
  – Signal wait time
     • resource が利用可能になるまでの時間とタスクの実継続時
       間: ‘runnable’ から ‘running’ になるまでの時間。
  – DMV(動的管理ビュー)のwait timeにはsignal wait
    timeが含まれる.
• SQL Server バージョンによりタイミングは異なる。
  SS2005 SP3 からは 1ms..ほど(詳細はこちらの link )
Waitsの場所
• Sys.dm_os_wait_stats (dbcc sqlperf(waitstats) ) (screenshot)
    – Since startup, or dbcc sqlperf(sys.dm_os_wait_stats, clear)
    – Wait time, Signal time (time: runnable->running)
• Sys.dm_os_waiting_tasks (screenshot)
• Sys.dm_exec_requests, Sysprocesses (screenshot)
• Sys.dm_io_virtual_file_stats(db_id,file_id) (screenshot)
    – Io_stall_read_ms, Io_stall_write_ms and num_reads/writes.
    – ‘real’ IO latency, pay attention to num_of_bytes_read/written. In most
      cases 64K per read or more! (see screenshot: virtual filestats summary)
• Sys.dm_db_index_operational_stats(db_id,object_id,etc,..)
  (screenshot)
• Not available in Profiler!
CPU timeの場所
• @@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000,
  @@io_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000,
  @@idle * CAST(@@TIMETICKS AS FLOAT)/1000)
  (accumulated for this SQL Server Instance)

• ./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization
  ./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle
  from:
        select timestamp, convert(xml, record) as record
         from sys.dm_os_ring_buffers
         where ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR'
         and record like '%<SystemHealth>%‘
  (see: exact query from Performance Dashboard in Slide notes)
• Sys.dm_exec_sessions: cpu_time spend for this session
• Sys.dm_exec_requests: cpu_time spend for this request (also:
  total_elapsed_time)
select wait_type,waiting_tasks_count,wait_time_ms,signal_wait_time_ms,
            wait_time_ms/waiting_tasks_count as 'avg wait ms'
        from sys.dm_os_wait_stats where waiting_tasks_count > 0
                       order by wait_time_ms desc
select session_id,exec_context_id,wait_duration_ms
            ,wait_type,resource_description
from sys.dm_os_waiting_tasks order by session_id asc
Wait 例
• Pagiolatch_xx
    – DiskからpageのIO待ち Note: IO timeとは限らない: IO size による。 High wait
      times でもIO問題を起こすこともある。virtual file statsまたはperfmon counters
      にも注意する必要がある。
• Pagelatch_xx
    – Memory access待ち
    – _UP types, mostly for ‘household’ pages (PFS,GAM,SGAM)
• Latch_xx (see next slide)
• Writelog (and logbuffer)
    – transaction log への書き込み待ち(多くはcommit後) Logbuffer wait: logbuffer
      の空き領域待ち
• LCK_M_XX
    – Row, key and page lock waits.
• Asynch_network_io
    – Network writes to client: client処理速度に依存する(and network latency)
Wait 例 2
•   Sos_scheduler_waits
     – Schedulerの利用可能待ち
     – これについての詳細はこちら www.simple-talk.com
•   CXPACKET
     – Parallel Queryの同期待ち: 設計の一部なので問題ではない
     – Very good presentation: http://www.sqlworkshops.com webcast2
•   SLEEP_TASK en IO_COMPLETION
     – Sleep_task は‘scheduler yield’または‘normal sleep’として使用されることがある。
       IO_completionと一緒の場合: likely hash joins and sort activity (Tempdb. へ吐き出される)
     – Again really well explained: http://www.sqlworkshops.com webcast3
•   CMEMTHREAD, RESOURCE_SEMAPHORE
     – 実行計画のcaching/recompileが問題? Memoryを大量に使用するqueries: big sorts/hash
       joins
•   Background waits: Lazywriter_sleep, sqltrace_buffer_flush, logmgr_queue (watch
    out for Sleep_task! Multiple (miss?) use)
•   PreEmptive waits
     – Outside of SOS scheduler, for instance system calls or external stored procedures.
Latches
• 短期間同期objects
• Sys.dm_os_latch_stats.
  – Latch_class ‘BUFFER’ は PAGE% latchesの合計
  – BOLにていくつか文書化されている
  – ACCESS_METHODS_xx: indexesやheapsを処理する際
    に使用 (SCAN/KEY_RANGE_GENERATOR: Parallel
    Query
  – LOG_MANAGER latch: Txlogが自動拡張する際に使用
  – 例は ‘SQL Broker trouble’ スライドにて
Tools
• 現状をPerformance dashboard (screenshot), drilldown
  tool で表示
• Management DW & Performance collector
   – SQL Server 2008, expandable DW for performance info.
• SQLSTAT2005 (codeplex), takes snapshots of important
  DMVs, shows PerfDashboard-like reports. (see example
  slide)
• No SQL Trace or Profiler ! (sigh..)
• Xevents in SQL Server 2008
• 自作scripts: begin/end_waitstats (例はスライドノートを
  参照)
Performance Dashboard
Performance Dashboard 2
Begin/End waitstats output
wait_type                             waits wait_time sigwaittime      ela sec
------------------------           -------- ---------- ----------- -     ------
LCK_M_X                                   6         94           15     30
LATCH_SH                               253        688            47     30
LATCH_EX                               371        985            94     30
PAGELATCH_SH                           208          47           15     30
PAGELATCH_EX                          7194      1484          1453      30
PAGEIOLATCH_SH                        5742     63078            469     30
PAGEIOLATCH_EX                        2951     29422            266     30
IO_COMPLETION                          341        953              0    30
ASYNC_NETWORK_IO                   32203       27750          8687      30
SLEEP_BPOOL_FLUSH                     139        1109              0    30
SLEEP_TASK                           2777          891          813     30
DTC                                  1619     123266            937     30
BROKER_RECEIVE_WAITFOR                836       45938           328      30
SOS_SCHEDULER_YIELD                  3547         4125        4125      30
WRITELOG                             6679     121015          3313      30
CMEMTHREAD                              90           31           32     30
CXPACKET                             1255         2422          312      30
TRANSACTION_MUTEX                     237         1578          203      30
DTC_ABORT_REQUEST                      30       87000              0     30
BROKER_TASK_STOP                    4184      232547          2062       30

now                     cputime iotime idletime
----------------------- ------------- -------- --------
2011-02-03 20:48:00.433 39593.75 2125 75781.25
Wait stats snapshots stacked bar
But…
• session, SQL 文, Batchごとのwait event を見ることができない
• Sessionかbatchのどちらがwait eventの原因なのかは推測の域
• Unless you use ‘dangerous’ tools from sqlinternals.com (see
  example)
• Or use SQL Server 2008: Xevents! (demo), unfortunately no DMVs
  only clumsy XML
• 多くのSQL Server動作はOracleと比較すると非同期的に実行される
  (pagiolatch waits vs filestats: Oracle: db file sequential read)
• Don’t forget about CPU time: it’s still part of response time!
• Despite the fact that wait events are extremely important, there is
  more to measure. But not much more..
• ..The best optimization is elimination: Only do what you need to do:
  keep questioning code and (business) processes
実例
• insert loop, many commits
• Broker problems
• SAN移行後、Writelog がスローダウン
• ミラーディスクにTempdbを置いたとき
                  Tempdb
• Batch response time breakdown: DB timeを
  appserver timeと比較して
• Demo SQL Server 2008 XEvents
Insert loop 10k rows, commit inside or outside SQLInternals tools)
Commit Inside loop, per row. (or actually no commit, no transaction, in SSMS)

Spid   Ec       resource                       time(ms)    count sig       avg   perc
51      0       Elapsedtime                      10102         0   0         0   n/a
51      0       CPU                               1890        13   0 145,3846    19 %
51      0       SOS_SCHEDULER_YIELD                  0        12 0          0      0%
51      0       PAGEIOLATCH_SH                     406        70   0       5,8     4%
51      0       PAGEIOLATCH_EX                      15         5   0         3     0%
51      0       WRITELOG                          7531     10003 390 0,7528741    75 %
51      0       Unaccounted for                    260          0   0        0    3%


One Commit outside of the loop, with begin transaction:

Spid   Ec       resource                       time(ms) count sig      avg       perc
51      0       Elapsed time                        911     0   0        0        n/a
51      0       CPU                                 812     1   0      812         89 %
51      0       SOS_SCHEDULER_YIELD                  62   168 62 0,3690476          7%
51      0       ASYNC_NETWORK_IO                     15    11 0 1,363636            2%
51      0       WRITELOG                              0      1  0       0           0%
51      0       Unaccounted for                      22      0  0        0          2%
SQL Broker trouble (1 minutr snapshots):
wait_type                                 waits       wait_time signaltime
----------------------------------------- -------- ---------------- -------------
LATCH_SH                                       1          300000              0
PAGEIOLATCH_SH                            8665             47968             94
PAGEIOLATCH_EX                                 1                16            0
ASYNC_NETWORK_IO                            495               172           62
SLEEP_TASK                                3674                438          438
SOS_SCHEDULER_YIELD                       2561               1031         1032
WRITELOG                                      38                62           15
CMEMTHREAD                                 8552               296          219
cputime                             iotime               idletime
---------------------- ---------------------- ----------------------
          93718,75                  17500                 6093,75

(next slide: sysprocesses)
SQL Broker trouble 2 sysprocesses:
spid kpid blocked waittype waittime                  lastwaittype            waitresource                                                  cpu
------ ------ --------- ------------- ------------   ----------------------- ------------------------------------------------------------- ----------------
17 2580 0             0x0000          0                CMEMTHREAD                                                                          479216906
18 2584 0             0x0000          0                CMEMTHREAD                                                                          463373718
19 2624 18 0x0022                     61671                  LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264)                                         1546
23 2604 17 0x0022 75437                                      LATCH_SH SERVICE_BROKER_TRANSMITTER (801C40EC)                                          110
25     668 18 0x0022 155140                                  LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264)                                              3
27 3684 18 0x0022 84031                                      LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264)                                             12

(sysprocesses.command=‘BRKR TASK’)
Spid 17 en 18 in a CPU loop while holding SB transmitter latch: blocking 19,23,25 en 27
Problem: broker cannot send message due to certificate problems.




                                                                                                                                 back
Txlog writes slowdown
Time in ms




                                     Day of year
Sqlstat2005 8 hour day time




                              Back
TEMPDB write times on mirrored disk




(Compare with previous slide: non-mirrored)

                                              back
Session timing: 10 min Batch: DB uses only 1 resp. 2 minutes!
Spid        EC        ResourceDescription                    Time(ms)     Count       SignalTime(ms)         AvgTime(ms)    Perc
----------- ----------- -------------------------------- -   ----------   ----------- --------------------   ------------   ----
110         0         Elapsed time                           116974       0                      0            0             n/a
110         0         CPU                                    40737        7914                    0          5,14746        35 %
110         0         LCK_M_RS_S                             14390        122                    31           117,9508      12 %   *
110         0         LCK_M_S                                13171        108                    46          121,9537       11 %   *
110         0         PAGEIOLATCH_SH                         32390        6186                   296         5,236017       28 %
110         0         SOS_SCHEDULER_YIELD                    5171         6486                   5171         0,7972556      4%
110         0         PAGELATCH_SH                           31           255                    31          0,1215686      0%
110         0         WRITELOG                               406          293                    31          1,385666       0%
110         0         LCK_M_SCH_M                             46           4                      0          11,5            0%
110         0         DTC                                    2062         227                    31          9,0837         2%
110         0         TRANSACTION_MUTEX                      218          175                    15           1,245714      0%
110         0         ASYNC_NETWORK_IO                        4328        1327                   421         3,261492       4%
110         0         LCK_M_X                                796          16                     0           49,75          1%
110         0         PAGEIOLATCH_EX                         156          35                     0           4,457143       0%
110         0         PAGELATCH_EX                           296           550                   281         0,5381818      0%
110         0         Unaccounted for                         2776         0                     0           0              2%

72         0         Elapsed time                            62532        0                     0            0              n/a
72         0         CPU                                     5996         6168                  0            0,9721141      10 %
72         0         PAGEIOLATCH_SH                          25812        4577                  343          5,639502       41 %
72         0         SOS_SCHEDULER_YIELD                     359          434                   359          0,827189       1%
72         0         IO_COMPLETION                           78           87                    0            0,8965517      0%
72         0         ASYNC_NETWORK_IO                        4281         1158                  359          3,696891       7%
72         0         PAGELATCH_EX                            765          1336                  765          0,5726048      1%
72         0         DTC                                     1093         101                   46           10,82178       2%
72         0         TRANSACTION_MUTEX                       156          71                    0            2,197183       0%
72         0         PAGEIOLATCH_EX                          18328        3470                  140          5,281845       29 %
72         0         LCK_M_RIn_NL                            515          6                     0            85,83334       1%
72         0         CMEMTHREAD                              0            1                     0            0              0%
72         0         LCK_M_S                                 3937         1                     0            3937           6%
72         0         Unaccounted for                         1212         0                     0            0              2%


     * The locking in the first session was resolved with read committed snapshots and isolation levels
Read io time summary


count




                               Ms/read

Más contenido relacionado

La actualidad más candente

[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)Insight Technology, Inc.
 
Oracleのトランケートについて知っておくべきこと
Oracleのトランケートについて知っておくべきことOracleのトランケートについて知っておくべきこと
Oracleのトランケートについて知っておくべきことKazuhiro Takahashi
 
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL ServerでできることできないことInsight Technology, Inc.
 
PostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLPostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLNoriyoshi Shinoda
 
db tech showcase 2019 D10 Oracle Database New Features
db tech showcase 2019 D10 Oracle Database New Featuresdb tech showcase 2019 D10 Oracle Database New Features
db tech showcase 2019 D10 Oracle Database New FeaturesNoriyoshi Shinoda
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Noriyoshi Shinoda
 
OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2VirtualTech Japan Inc.
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会Shigeru Hanada
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門Yoshiyuki Asaba
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎Insight Technology, Inc.
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~Ryota Watabe
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Ryota Watabe
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...yoshimotot
 
Introduction of Oracle Database Architecture
Introduction of Oracle Database ArchitectureIntroduction of Oracle Database Architecture
Introduction of Oracle Database ArchitectureRyota Watabe
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)Uptime Technologies LLC (JP)
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具yoku0825
 

La actualidad más candente (18)

[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
[INSIGHT OUT 2011] C12 50分で理解する SQL Serverでできることできないこと(uchiyama)
 
Oracleのトランケートについて知っておくべきこと
Oracleのトランケートについて知っておくべきことOracleのトランケートについて知っておくべきこと
Oracleのトランケートについて知っておくべきこと
 
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
 
PostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQLPostgreSQL Unconference #26 No Error on PostgreSQL
PostgreSQL Unconference #26 No Error on PostgreSQL
 
db tech showcase 2019 D10 Oracle Database New Features
db tech showcase 2019 D10 Oracle Database New Featuresdb tech showcase 2019 D10 Oracle Database New Features
db tech showcase 2019 D10 Oracle Database New Features
 
Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1Oracle Database Connect 2017 / JPOUG#1
Oracle Database Connect 2017 / JPOUG#1
 
OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2OpenStack環境構築手順書 Havana版 バージョン2.2
OpenStack環境構築手順書 Havana版 バージョン2.2
 
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
 
PostgreSQL運用管理入門
PostgreSQL運用管理入門PostgreSQL運用管理入門
PostgreSQL運用管理入門
 
C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎C21 SQL Server のスレッド管理 by 古賀啓一郎
C21 SQL Server のスレッド管理 by 古賀啓一郎
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.Analyzing Oracle Database hang issues using various diagnostics.
Analyzing Oracle Database hang issues using various diagnostics.
 
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
私はここでつまづいた! Oracle database 11g から 12cへのアップグレードと Oracle Database 12c の新機能@201...
 
Introduction of Oracle Database Architecture
Introduction of Oracle Database ArchitectureIntroduction of Oracle Database Architecture
Introduction of Oracle Database Architecture
 
PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門PostgreSQLアーキテクチャ入門
PostgreSQLアーキテクチャ入門
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
PostgreSQLアーキテクチャ入門(PostgreSQL Conference 2012)
 
MySQLerの7つ道具
MySQLerの7つ道具MySQLerの7つ道具
MySQLerの7つ道具
 

Similar a [INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)

Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史Insight Technology, Inc.
 
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...Insight Technology, Inc.
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理junichi anno
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?Masayuki Ozawa
 
待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイントMasayuki Ozawa
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付きInsight Technology, Inc.
 
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果Masayuki Ozawa
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishYohei Azekatsu
 
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはバックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはTakeshiYamamoto2049
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1Ryosuke IWANAGA
 
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio KumazawaInsight Technology, Inc.
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...Insight Technology, Inc.
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeSatoru Ishikawa
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用についてLINE Corporation
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517akirahiguchi
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1Makoto Haruyama
 
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)Satoshi Yamada
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with DockerOshitari_kochi
 

Similar a [INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker) (20)

Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
A24 SQL Server におけるパフォーマンスチューニング手法 - 注目すべきポイントを簡単に by 多田典史
 
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
[db tech showcase Tokyo 2018] #dbts2018 #D34 『サポートのトップエンジニアが語る - ワンランク上のStats...
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント待ち事象から考える、Sql server の改善ポイント
待ち事象から考える、Sql server の改善ポイント
 
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
[A33] [特濃jpoug statspack on pdb oracle database 12c] 20131115 補足・続報付き
 
Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果Sql server よく聞く設定とその効果
Sql server よく聞く設定とその効果
 
Dbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publishDbts2012 unconference wttrw_yazekatsu_publish
Dbts2012 unconference wttrw_yazekatsu_publish
 
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとはバックアップ時の問題から学んだDBエンジニアに必要なスキルとは
バックアップ時の問題から学んだDBエンジニアに必要なスキルとは
 
tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1tcpdump & xtrabackup @ MySQL Casual Talks #1
tcpdump & xtrabackup @ MySQL Casual Talks #1
 
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
[B31,32]SQL Server Internal と パフォーマンスチューニング by Yukio Kumazawa
 
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
[db tech showcase Tokyo 2017] D21: ついに Red Hat Enterprise Linuxで SQL Serverが使...
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
Developers.IO 2019 Effective Datalake
Developers.IO 2019 Effective DatalakeDevelopers.IO 2019 Effective Datalake
Developers.IO 2019 Effective Datalake
 
LINEのMySQL運用について
LINEのMySQL運用についてLINEのMySQL運用について
LINEのMySQL運用について
 
Handlersocket 20110517
Handlersocket 20110517Handlersocket 20110517
Handlersocket 20110517
 
My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1My sql casual_in_fukuoka_vol1
My sql casual_in_fukuoka_vol1
 
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
 

Más de Insight Technology, Inc.

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Insight Technology, Inc.
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明するInsight Technology, Inc.
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーンInsight Technology, Inc.
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとInsight Technology, Inc.
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?Insight Technology, Inc.
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームInsight Technology, Inc.
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門Insight Technology, Inc.
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也Insight Technology, Inc.
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー Insight Technology, Inc.
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?Insight Technology, Inc.
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Insight Technology, Inc.
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?Insight Technology, Inc.
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...Insight Technology, Inc.
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 Insight Technology, Inc.
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Insight Technology, Inc.
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]Insight Technology, Inc.
 

Más de Insight Technology, Inc. (20)

グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
Docker and the Oracle Database
Docker and the Oracle DatabaseDocker and the Oracle Database
Docker and the Oracle Database
 
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
Great performance at scale~次期PostgreSQL12のパーティショニング性能の実力に迫る~
 
事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する事例を通じて機械学習とは何かを説明する
事例を通じて機械学習とは何かを説明する
 
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
仮想通貨ウォレットアプリで理解するデータストアとしてのブロックチェーン
 
MBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごとMBAAで覚えるDBREの大事なおしごと
MBAAで覚えるDBREの大事なおしごと
 
グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?グラフデータベースは如何に自然言語を理解するか?
グラフデータベースは如何に自然言語を理解するか?
 
DBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォームDBREから始めるデータベースプラットフォーム
DBREから始めるデータベースプラットフォーム
 
SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門SQL Server エンジニアのためのコンテナ入門
SQL Server エンジニアのためのコンテナ入門
 
Lunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL ServicesLunch & Learn, AWS NoSQL Services
Lunch & Learn, AWS NoSQL Services
 
db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉 db tech showcase2019オープニングセッション @ 森田 俊哉
db tech showcase2019オープニングセッション @ 森田 俊哉
 
db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也db tech showcase2019 オープニングセッション @ 石川 雅也
db tech showcase2019 オープニングセッション @ 石川 雅也
 
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
db tech showcase2019 オープニングセッション @ マイナー・アレン・パーカー
 
難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?難しいアプリケーション移行、手軽に試してみませんか?
難しいアプリケーション移行、手軽に試してみませんか?
 
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
Attunityのソリューションと異種データベース・クラウド移行事例のご紹介
 
そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?そのデータベース、クラウドで使ってみませんか?
そのデータベース、クラウドで使ってみませんか?
 
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
コモディティサーバー3台で作る高速処理 “ハイパー・コンバージド・データベース・インフラストラクチャー(HCDI)” システム『Insight Qube』...
 
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。 複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
複数DBのバックアップ・切り戻し運用手順が異なって大変?!運用性の大幅改善、その先に。。
 
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
Attunity社のソリューションの日本国内外適用事例及びロードマップ紹介[ATTUNITY & インサイトテクノロジー IoT / Big Data フ...
 
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
レガシーに埋もれたデータをリアルタイムでクラウドへ [ATTUNITY & インサイトテクノロジー IoT / Big Data フォーラム 2018]
 

Último

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Último (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

[INSIGHT OUT 2011] A24 sql server wait events(mario broodbakker)

  • 1. SQL Server Wait Events Mario Broodbakker mario@insight-tec.co.jp
  • 2. 経歴 • 1987 年よりDBAとして最初はメインフレームを経験しその後、Oracle AIX 版とWindows版に携わる • 1997年よりBaanでPerformance & Benchmark スペシャリストとして働きそ の後、Compaq: Windows Oracle, SQL Server en Informix benchmarksを経 験 • Compaq と HP: Unix、Windows Oracle パフォーマンスコンサルタント • 2006-2009 Windows Integrity Engineering: Windows Itanium (eh, Oracle) benchmarks in Redmond, WA USA. • 2002年からSQL Server 2000の解析調査を始め、ユーザセッションごとの wait event情報の収集やwait event tracingに携わる。後に、SQL Server 2005についても調査 see: www.sqlinternals.com • Wait event presentation: DBForum Lalandia 2004 (SQL Server 2000) • SQL Server waitstuff について3つの記事を発表 – www.simple-talk.com/sql/performance • PGGM (Pension fund)にてDatabaseスペシャリストとして2010年 Netherlandsに戻る: finally SQL Server DBA! • 現在、インサイトテクノロジー在籍
  • 3. wait events とは? • SQL Server が動いていなかったら: 待機状態 • wait event が発生したら: ‘何か’ が現状のタスク を待ち状態にしている • SQL Server では、待ちの発生場所を特定できる: – Data file or transaction log IO – Network IO – Locks & Latches – CPU – 480 以上のwait の種類がある
  • 4. 用途は? • R = S +W : Response time = Service time + Wait time • Response time is key for the end user. ‘R’ はオ ンライン response timeとなるが、‘batch’ time を表すこともある • Example: response time 4 seconds は、 0.2 s CPU time と 3.8 seconds の IO time から構成 されている。 Does it make sense to optimize CPU time? Buy faster CPUs? Build faster code?
  • 5. A little bit of history.. • Oracle wait events は1994年に文書化されていて (Anjo Kolk)、評価を受けている。YAPP: ‘Yet Another Performance Profiling’ method paper. • DBCC SQLPerf(Waitstats) 文書化されていない: Gert Drapers と Tom Davidson が最初に取り掛か る • SQL Server 2005 以降はBOLにて公開されている • Microsoft papers: Troubleshooting Performance Problems using Queues and waits (SQL server 2005 en 2008) : Davidson ea.
  • 6. Where do wait events come from? • SOS Scheduler – ‘work request’ 処理中: SQL Batch または Parallel Query -> task – 1 task runs on 1 scheduler on 1 CPU until: • blocking call 発生: disk IO, network IO -> wait event, start time and type が登録される • Time quantum has elapsed: 4ms (always?) (scheduler and CPU の独占を防ぐために): SOS_SCHEDULER_WAIT (and SLEEP_TASK?) – worker thread によりtask 処理が発生: OS thread or Fiber (light weight pooling)
  • 7. Task Flow (from: SS2005 Practical Troubleshooting: Ken Henderson) Worker available New Pending Runna Runni Task Done ble ng Suspe nded PreEm ptive
  • 8. Wait time • wait time の 2 つの要素: – Resource wait time • resource が利用可能になるまでの時間。‘suspended’ 状態 から ‘ runable’ になるまでの時間。 – Signal wait time • resource が利用可能になるまでの時間とタスクの実継続時 間: ‘runnable’ から ‘running’ になるまでの時間。 – DMV(動的管理ビュー)のwait timeにはsignal wait timeが含まれる. • SQL Server バージョンによりタイミングは異なる。 SS2005 SP3 からは 1ms..ほど(詳細はこちらの link )
  • 9. Waitsの場所 • Sys.dm_os_wait_stats (dbcc sqlperf(waitstats) ) (screenshot) – Since startup, or dbcc sqlperf(sys.dm_os_wait_stats, clear) – Wait time, Signal time (time: runnable->running) • Sys.dm_os_waiting_tasks (screenshot) • Sys.dm_exec_requests, Sysprocesses (screenshot) • Sys.dm_io_virtual_file_stats(db_id,file_id) (screenshot) – Io_stall_read_ms, Io_stall_write_ms and num_reads/writes. – ‘real’ IO latency, pay attention to num_of_bytes_read/written. In most cases 64K per read or more! (see screenshot: virtual filestats summary) • Sys.dm_db_index_operational_stats(db_id,object_id,etc,..) (screenshot) • Not available in Profiler!
  • 10. CPU timeの場所 • @@CPU_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000, @@io_BUSY * CAST(@@TIMETICKS AS FLOAT)/1000, @@idle * CAST(@@TIMETICKS AS FLOAT)/1000) (accumulated for this SQL Server Instance) • ./Record/SchedulerMonitorEvent/SystemHealth/ProcessUtilization ./Record/SchedulerMonitorEvent/SystemHealth/SystemIdle from: select timestamp, convert(xml, record) as record from sys.dm_os_ring_buffers where ring_buffer_type = N'RING_BUFFER_SCHEDULER_MONITOR' and record like '%<SystemHealth>%‘ (see: exact query from Performance Dashboard in Slide notes) • Sys.dm_exec_sessions: cpu_time spend for this session • Sys.dm_exec_requests: cpu_time spend for this request (also: total_elapsed_time)
  • 11. select wait_type,waiting_tasks_count,wait_time_ms,signal_wait_time_ms, wait_time_ms/waiting_tasks_count as 'avg wait ms' from sys.dm_os_wait_stats where waiting_tasks_count > 0 order by wait_time_ms desc
  • 12. select session_id,exec_context_id,wait_duration_ms ,wait_type,resource_description from sys.dm_os_waiting_tasks order by session_id asc
  • 13. Wait 例 • Pagiolatch_xx – DiskからpageのIO待ち Note: IO timeとは限らない: IO size による。 High wait times でもIO問題を起こすこともある。virtual file statsまたはperfmon counters にも注意する必要がある。 • Pagelatch_xx – Memory access待ち – _UP types, mostly for ‘household’ pages (PFS,GAM,SGAM) • Latch_xx (see next slide) • Writelog (and logbuffer) – transaction log への書き込み待ち(多くはcommit後) Logbuffer wait: logbuffer の空き領域待ち • LCK_M_XX – Row, key and page lock waits. • Asynch_network_io – Network writes to client: client処理速度に依存する(and network latency)
  • 14. Wait 例 2 • Sos_scheduler_waits – Schedulerの利用可能待ち – これについての詳細はこちら www.simple-talk.com • CXPACKET – Parallel Queryの同期待ち: 設計の一部なので問題ではない – Very good presentation: http://www.sqlworkshops.com webcast2 • SLEEP_TASK en IO_COMPLETION – Sleep_task は‘scheduler yield’または‘normal sleep’として使用されることがある。 IO_completionと一緒の場合: likely hash joins and sort activity (Tempdb. へ吐き出される) – Again really well explained: http://www.sqlworkshops.com webcast3 • CMEMTHREAD, RESOURCE_SEMAPHORE – 実行計画のcaching/recompileが問題? Memoryを大量に使用するqueries: big sorts/hash joins • Background waits: Lazywriter_sleep, sqltrace_buffer_flush, logmgr_queue (watch out for Sleep_task! Multiple (miss?) use) • PreEmptive waits – Outside of SOS scheduler, for instance system calls or external stored procedures.
  • 15. Latches • 短期間同期objects • Sys.dm_os_latch_stats. – Latch_class ‘BUFFER’ は PAGE% latchesの合計 – BOLにていくつか文書化されている – ACCESS_METHODS_xx: indexesやheapsを処理する際 に使用 (SCAN/KEY_RANGE_GENERATOR: Parallel Query – LOG_MANAGER latch: Txlogが自動拡張する際に使用 – 例は ‘SQL Broker trouble’ スライドにて
  • 16. Tools • 現状をPerformance dashboard (screenshot), drilldown tool で表示 • Management DW & Performance collector – SQL Server 2008, expandable DW for performance info. • SQLSTAT2005 (codeplex), takes snapshots of important DMVs, shows PerfDashboard-like reports. (see example slide) • No SQL Trace or Profiler ! (sigh..) • Xevents in SQL Server 2008 • 自作scripts: begin/end_waitstats (例はスライドノートを 参照)
  • 19. Begin/End waitstats output wait_type waits wait_time sigwaittime ela sec ------------------------ -------- ---------- ----------- - ------ LCK_M_X 6 94 15 30 LATCH_SH 253 688 47 30 LATCH_EX 371 985 94 30 PAGELATCH_SH 208 47 15 30 PAGELATCH_EX 7194 1484 1453 30 PAGEIOLATCH_SH 5742 63078 469 30 PAGEIOLATCH_EX 2951 29422 266 30 IO_COMPLETION 341 953 0 30 ASYNC_NETWORK_IO 32203 27750 8687 30 SLEEP_BPOOL_FLUSH 139 1109 0 30 SLEEP_TASK 2777 891 813 30 DTC 1619 123266 937 30 BROKER_RECEIVE_WAITFOR 836 45938 328 30 SOS_SCHEDULER_YIELD 3547 4125 4125 30 WRITELOG 6679 121015 3313 30 CMEMTHREAD 90 31 32 30 CXPACKET 1255 2422 312 30 TRANSACTION_MUTEX 237 1578 203 30 DTC_ABORT_REQUEST 30 87000 0 30 BROKER_TASK_STOP 4184 232547 2062 30 now cputime iotime idletime ----------------------- ------------- -------- -------- 2011-02-03 20:48:00.433 39593.75 2125 75781.25
  • 20. Wait stats snapshots stacked bar
  • 21. But… • session, SQL 文, Batchごとのwait event を見ることができない • Sessionかbatchのどちらがwait eventの原因なのかは推測の域 • Unless you use ‘dangerous’ tools from sqlinternals.com (see example) • Or use SQL Server 2008: Xevents! (demo), unfortunately no DMVs only clumsy XML • 多くのSQL Server動作はOracleと比較すると非同期的に実行される (pagiolatch waits vs filestats: Oracle: db file sequential read) • Don’t forget about CPU time: it’s still part of response time! • Despite the fact that wait events are extremely important, there is more to measure. But not much more.. • ..The best optimization is elimination: Only do what you need to do: keep questioning code and (business) processes
  • 22. 実例 • insert loop, many commits • Broker problems • SAN移行後、Writelog がスローダウン • ミラーディスクにTempdbを置いたとき Tempdb • Batch response time breakdown: DB timeを appserver timeと比較して • Demo SQL Server 2008 XEvents
  • 23. Insert loop 10k rows, commit inside or outside SQLInternals tools) Commit Inside loop, per row. (or actually no commit, no transaction, in SSMS) Spid Ec resource time(ms) count sig avg perc 51 0 Elapsedtime 10102 0 0 0 n/a 51 0 CPU 1890 13 0 145,3846 19 % 51 0 SOS_SCHEDULER_YIELD 0 12 0 0 0% 51 0 PAGEIOLATCH_SH 406 70 0 5,8 4% 51 0 PAGEIOLATCH_EX 15 5 0 3 0% 51 0 WRITELOG 7531 10003 390 0,7528741 75 % 51 0 Unaccounted for 260 0 0 0 3% One Commit outside of the loop, with begin transaction: Spid Ec resource time(ms) count sig avg perc 51 0 Elapsed time 911 0 0 0 n/a 51 0 CPU 812 1 0 812 89 % 51 0 SOS_SCHEDULER_YIELD 62 168 62 0,3690476 7% 51 0 ASYNC_NETWORK_IO 15 11 0 1,363636 2% 51 0 WRITELOG 0 1 0 0 0% 51 0 Unaccounted for 22 0 0 0 2%
  • 24. SQL Broker trouble (1 minutr snapshots): wait_type waits wait_time signaltime ----------------------------------------- -------- ---------------- ------------- LATCH_SH 1 300000 0 PAGEIOLATCH_SH 8665 47968 94 PAGEIOLATCH_EX 1 16 0 ASYNC_NETWORK_IO 495 172 62 SLEEP_TASK 3674 438 438 SOS_SCHEDULER_YIELD 2561 1031 1032 WRITELOG 38 62 15 CMEMTHREAD 8552 296 219 cputime iotime idletime ---------------------- ---------------------- ---------------------- 93718,75 17500 6093,75 (next slide: sysprocesses)
  • 25. SQL Broker trouble 2 sysprocesses: spid kpid blocked waittype waittime lastwaittype waitresource cpu ------ ------ --------- ------------- ------------ ----------------------- ------------------------------------------------------------- ---------------- 17 2580 0 0x0000 0 CMEMTHREAD 479216906 18 2584 0 0x0000 0 CMEMTHREAD 463373718 19 2624 18 0x0022 61671 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 1546 23 2604 17 0x0022 75437 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C40EC) 110 25 668 18 0x0022 155140 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 3 27 3684 18 0x0022 84031 LATCH_SH SERVICE_BROKER_TRANSMITTER (801C4264) 12 (sysprocesses.command=‘BRKR TASK’) Spid 17 en 18 in a CPU loop while holding SB transmitter latch: blocking 19,23,25 en 27 Problem: broker cannot send message due to certificate problems. back
  • 26. Txlog writes slowdown Time in ms Day of year
  • 27. Sqlstat2005 8 hour day time Back
  • 28. TEMPDB write times on mirrored disk (Compare with previous slide: non-mirrored) back
  • 29. Session timing: 10 min Batch: DB uses only 1 resp. 2 minutes! Spid EC ResourceDescription Time(ms) Count SignalTime(ms) AvgTime(ms) Perc ----------- ----------- -------------------------------- - ---------- ----------- -------------------- ------------ ---- 110 0 Elapsed time 116974 0 0 0 n/a 110 0 CPU 40737 7914 0 5,14746 35 % 110 0 LCK_M_RS_S 14390 122 31 117,9508 12 % * 110 0 LCK_M_S 13171 108 46 121,9537 11 % * 110 0 PAGEIOLATCH_SH 32390 6186 296 5,236017 28 % 110 0 SOS_SCHEDULER_YIELD 5171 6486 5171 0,7972556 4% 110 0 PAGELATCH_SH 31 255 31 0,1215686 0% 110 0 WRITELOG 406 293 31 1,385666 0% 110 0 LCK_M_SCH_M 46 4 0 11,5 0% 110 0 DTC 2062 227 31 9,0837 2% 110 0 TRANSACTION_MUTEX 218 175 15 1,245714 0% 110 0 ASYNC_NETWORK_IO 4328 1327 421 3,261492 4% 110 0 LCK_M_X 796 16 0 49,75 1% 110 0 PAGEIOLATCH_EX 156 35 0 4,457143 0% 110 0 PAGELATCH_EX 296 550 281 0,5381818 0% 110 0 Unaccounted for 2776 0 0 0 2% 72 0 Elapsed time 62532 0 0 0 n/a 72 0 CPU 5996 6168 0 0,9721141 10 % 72 0 PAGEIOLATCH_SH 25812 4577 343 5,639502 41 % 72 0 SOS_SCHEDULER_YIELD 359 434 359 0,827189 1% 72 0 IO_COMPLETION 78 87 0 0,8965517 0% 72 0 ASYNC_NETWORK_IO 4281 1158 359 3,696891 7% 72 0 PAGELATCH_EX 765 1336 765 0,5726048 1% 72 0 DTC 1093 101 46 10,82178 2% 72 0 TRANSACTION_MUTEX 156 71 0 2,197183 0% 72 0 PAGEIOLATCH_EX 18328 3470 140 5,281845 29 % 72 0 LCK_M_RIn_NL 515 6 0 85,83334 1% 72 0 CMEMTHREAD 0 1 0 0 0% 72 0 LCK_M_S 3937 1 0 3937 6% 72 0 Unaccounted for 1212 0 0 0 2% * The locking in the first session was resolved with read committed snapshots and isolation levels
  • 30. Read io time summary count Ms/read