OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう

1,470 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,470
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OOW Tokyo 2012 Unconference つまらない STATSPACK をさらにややこしく解説してみよう

  1. 1. つまらない STATSPACK をさらにややこしく解説してみようさらにややこしく解説してみよう Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 1
  2. 2. まず、、、、STATSPACKレポートの時系列を予想してください。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 2
  3. 3. ヒントSNAPSHOT1:運用として定常的にSTATSPACK のデータは取得している。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 3
  4. 4. ヒントSNAPSHOT2:ある日のメンテナンス後にOLTP 系の処理でタイムアウトが頻発した。調査のために STATSPACKレポートを取得してみた。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 4
  5. 5. ヒントSNAPSHOT3:対応後、復旧後状況確認のために STATSPACK レポートを取得してみた。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 5
  6. 6. 答えは3択で、、、、 1. A→B→C 2. B→C→A 3. C→B→A Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 6
  7. 7. 答えは3択で、、、、 1. A→B→C 2. B→C→A 3. C→B→A Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 7
  8. 8. 答えは3択で、、、、C:通常運用時 B:メンテナンス後 A:緊急対応後 3. C→B→A Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 8
  9. 9. 環境情報(ただし、検証環境ね)HW CPU : 4core Mem : 8GBOS RHEL 5 64bitDB Oracle Database 11.2.0.2 Enterprise Edition Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 9
  10. 10. 構成連携サーバ WEB・APサーバ データベースサーバ Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 10
  11. 11. OLTP処理SQL(オリジナル状態)OLTP処理SQLの統計情報SQL Statistics~~~~~~~~~~~~~~ % Snap Statement Total Per Execute Total --------------- --------------- ------ Buffer Gets: 1,052,361 116,929.0 13.72 Disk Reads: 0 0.0 .00 Rows processed: 3,600 400.0 CPU Time(s/ms): 5 558.8Elapsed Time(s/ms): 6 674.6 : Executions: 9 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 11
  12. 12. OLTP処理SQL(メンテナンス後)OLTP処理SQLの統計情報SQL Statistics~~~~~~~~~~~~~~ % Snap Statement Total Per Execute Total --------------- --------------- ------ Buffer Gets: 1,870,864 116,929.0 2.08 Disk Reads: 0 0.0 .00 Rows processed: 6,400 400.0 CPU Time(s/ms): 8 479.2Elapsed Time(s/ms): 26 1,655.3 : Executions: 16 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 12
  13. 13. REPORT C(障害発生前のレポート)Top 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait CallEvent Waits Time (s) (ms) Time----------------------------------------- ------------ ----------- ------ ------db file scattered read 1,846,915 735 0 55.9CPU time 152 11.5PL/SQL lock timer 1 120 ###### 9.1db file parallel read 31 73 2358 5.6db file sequential read 152,969 65 0 5.0----------------------------------------- ------------ ----------- ------ ------ .。oO(「db file scatterd read」 がTOPだね) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 13
  14. 14. REPORT B(障害発生時のレポート)Top 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait CallEvent Waits Time (s) (ms) Time----------------------------------------- ------------ ----------- ------ ------CPU time 311 47.0latch: cache buffers chains 2,635 207 78 31.2PL/SQL lock timer 1 120 ###### 18.1control file parallel write 42 6 152 1.0db file async I/O submit 69 5 67 .7----------------------------------------- ------------ ----------- ------ ------ .。oO( I/O系の待機イベントがなくなっている。障害どころか むしろこちらのほうが良好では?) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 14
  15. 15. バッチ処理SQL(オリジナル)バッチ処理SQLの統計情報SQL Statistics~~~~~~~~~~~~~~ % Snap Statement Total Per Execute Total --------------- --------------- ------ Buffer Gets: 7,546,904 104,818.1 98.40 Disk Reads: 6,803,691 94,495.7 114.53 Rows processed: 28,800 400.0 CPU Time(s/ms): 175 2,429.0Elapsed Time(s/ms): 954 13,252.2 : Executions: 72 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 15
  16. 16. バッチ処理SQL(メンテナンス後)バッチ処理SQLの統計情報SQL Statistics~~~~~~~~~~~~~~ % Snap Statement Total Per Execute Total --------------- --------------- ------ Buffer Gets: 88,412,056 116,947.2 98.09 Disk Reads: 0 0.0 .00 Rows processed: 302,400 400.0 CPU Time(s/ms): 302 399.0Elapsed Time(s/ms): 728 962.7 : Executions: 756 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 16
  17. 17. REPORT B(障害発生時のレポート:再び)Top 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait CallEvent Waits Time (s) (ms) Time----------------------------------------- ------------ ----------- ------ ------CPU time 311 47.0latch: cache buffers chains 2,635 207 78 31.2PL/SQL lock timer 1 120 ###### 18.1control file parallel write 42 6 152 1.0db file async I/O submit 69 5 67 .7----------------------------------------- ------------ ----------- ------ ------ .。oO(もしかして、みんな”CPU使い”になってないか?) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 17
  18. 18. CPUリソースの利用状況CPUリソースの利用状況を STATSPACKレポートの情報から洗いなおしてみると、、、<REPORT C> 8.6(AAS)x11.5%(CPU time)= 0.989core<REPORT B> 6.5(AAS)x47.0%(CPU time)= 3.055core .。oO(平均してこのぐらいはCPU使ってるなー) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 18
  19. 19. OLTP処理SQLがタイムアウトした原因は?STATSPACKレポートをながめてると、、、1. CPUバウンドなOLTP処理がス ローダウンしている。2. 待機イベントの最上位がCPU timeになっている。3. Core数換算で1core分の空きが ない。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 19
  20. 20. 対処方法アイディア 緩募 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 20
  21. 21. 対処方法バッチ処理の並列度抑制- バッチ処理SQL単体の処理時間は今回のチューニン グで短縮している。- バッチ処理の並列度を下げても、トータルの処理速 度は向上している。- 今回はバッチ処理の並列度を抑えて、CPUリソース を解放する方針で対応する。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 21
  22. 22. CPUリソースの利用状況(対応後)CPUリソースの利用状況をもう一度 STATSPACKレポートの情報から棚卸してみた、、、<REPORT C> 8.6(AAS)x11.5%(CPU time)= 0.989core<REPORT B> 6.5(AAS)x47.0%(CPU time)= 3.055core<REPORT A> 4.2(AAS)x48.2%(CPU time)= 2.024core .。oO(おっ!?CPUリ ソース空いた!!) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 22
  23. 23. OLTP処理SQL(対応後)OLTP処理SQLの統計情報SQL Statistics~~~~~~~~~~~~~~ % Snap Statement Total Per Execute Total --------------- --------------- ------ Buffer Gets: 1,169,290 116,929.0 2.14 Disk Reads: 0 0.0 .00 Rows processed: 4,000 400.0 CPU Time(s/ms): 5 482.0Elapsed Time(s/ms): 11 1,081.9 : 1,655.3 Executions: 10 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 23
  24. 24. ちょっと寄り道(9iなあなたへ”なんちゃってAAS”)REPORT CTop 5 Timed Events Avg %Total~~~~~~~~~~~~~~~~~~ wait CallEvent Waits Time (s) (ms) Time----------------------------------------- ------------ ----------- ------ ------db file scattered read 1,846,915 735 0 55.9CPU time 152 11.5PL/SQL lock timer 1 120 ###### 9.1db file parallel read 31 73 2358 5.6db file sequential read 152,969 65 0 5.0 ---------- ------ ------ 合計 = 1145 87.1 100%換算合計 = 1315 100.0 Elapsed: 2.15min*60sec = 129sec 1315/129 = 10.19 (NAAS) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 24
  25. 25. まとめ- STATSPACKはDB全体を俯瞰した 情報が得られる。- よって一部の処理の挙動は埋も れがち。- CPU timeが上位にいる場合は、 AASを組み合わせてCPUリソース の利用状況を把握すべし。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 25
  26. 26. まとめ- STATSPACKレポートでAASが表示 されなくても“なんちゃって AAS”が効果的。 愛称:NAAS(ナース) Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 26
  27. 27. Any Question ? 株式会社インサイトテクノロジー 山下 正 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 27
  28. 28. 無断転載を禁ずこの文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。株式会社インサイトテクノロジーは本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任を負いかねます。本書で使用している製品やサービス名の名称は、各社の商標または登録商標です。 Copyright © 2012 Insight Technology, Inc. All Rights Reserved. 28

×