Contenu connexe Similaire à [C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba Similaire à [C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba (20) Plus de Insight Technology, Inc. Plus de Insight Technology, Inc. (20) [C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba2. はじめに
ソーシャル ゲーム業界として「めずらしく」 Microsoft 製品を使
用した基盤を使用しています。gloops で提供しているゲームの
データベースは SQL Server を使用しています。
ゲーム タイトルが増えれば、その分 SQL Server も増えます。
たくさんの SQL Server をどのようにしておもりしているのか、
SQL Server を既に利用されている方はもちろん、これから SQL
Server を使おうかと思っていらっしゃる方に少しでも役に立て
られればと思います
なお、ここで発表する内容の一部には、試行錯誤中のものも含ま
れます
db techshowcase 東京 2013
2
3. 自己紹介
• 株式会社 gloops システム基盤部のエンジニア
• 主に SQL Server あたりをサポート
• 2013年6月まで日本マイクロソフトで Premier Field Engineer として従
事
• ひょんなことから現職
db techshowcase 東京 2013
3
6. SQL Server に対する誤解 (?)
• 大規模システムには耐えられないでしょ?
• いわゆるミッション クリティカルなシステム
• いわゆる高トランザクション処理なシステム
• チューニングなしでとりあえず動くやつでしょ?
• Oracle Enterprise Manager にあるパフォーマンス確認ツールみ
たいなものってないから、簡単に調査しにくそう
などなど。。。
7. 実際どうでしょうか?
• 大規模システム
• 公共交通系、銀行勘定系、SAP のバック データベースに利用されてい
る
• チューニングなしでは動くだけです
• 最適な Index を設定して少ないリソースで素早く目的のデータを
• ディスク アライメントも必要な場合も
• SQL Server Management Studio (SSMS) にあります
• リソースの利用状況 モニターでCPU、メモリ、コストの高いクエリな
どが確認可能
db techshowcase 東京 2013
7
8. gloops はどうか
• ソーシャル ゲームはヒットすると、瞬く間にトラフィックが急
増
• これを裁くためのインフラ基盤整備が重要
• データベースもしかり
• SQL Server 2008 R2 を採用した当初
• 思った以上に安定していた (そうです)
• トラフィック急増で IO が頭打ち
• ストレージを強化
• Fusion IO 社 の ioDrive を採用
db techshowcase 東京 2013
8
12. でも本当は
• SQL Server 関連のパフォーマンスも採取していただきたいです
•
•
•
•
SQL Server: Buffer Manager オブジェクト
SQL Server: General Statistics オブジェクト
SQL Server: SQL Statistics オブジェクト
など
これら SQL Server 関連の情報を採取して、総合的に分析する必要あり!!
[参考] [SQL Troubleshooting] 第2回 : Tips -パフォーマンス ログの採取方法 (Windows Server 2003 ~
Windows Server 2008 R2)
http://blogs.msdn.com/b/jpsql/archive/2012/04/20/tips-windows-server-2003-windows-server-2008-r2.aspx
db techshowcase 東京 2013
12
15. SQLdiag ユーティリティ
• 以下の診断情報が収集可能
•
•
•
•
•
Windows パフォーマンス カウンター ログ
Windows イベント ログ
SQL Server トレース
SQL Server ブロッキング情報
SQL Server の構成情報
[参考] SQLdiag ユーティリティ
http://msdn.microsoft.com/ja-jp/library/ms162833.aspx
db techshowcase 東京 2013
15
17. 動的管理ビュー (DMV)
• msdn マガジン DMV のサンプルが紹介
例) 待ち時間の原因となっているリソースを探す
SELECT TOP 10
[Wait type] = wait_type,
[Wait time (s)] = wait_time_ms / 1000,
[% waiting] = CONVERT(DECIMAL(12,2), wait_time_ms * 100.0
/ SUM(wait_time_ms) OVER())
FROM sys.dm_os_wait_stats
WHERE wait_type NOT LIKE '%SLEEP%'
ORDER BY wait_time_ms DESC;
[参考]隠れたデータを明らかにしてアプリケーションのパフォーマンスを最適化する
http://msdn.microsoft.com/ja-jp/magazine/cc135978.aspx
db techshowcase 東京 2013
18
19. データ コレクション
• SQL Server 2008 から搭載された機能
• 実稼働環境に合わせてデータ収集の範囲を調整可能
• 収集したデータは専用のデータウェア ハウスに格納
• 見た目は普通のユーザー データベース
• 実環境とは別の管理系の SQL Server に格納したほうが良いです
• データ コレクター API を使って拡張できるそうです
• 実践途中です (;´Д`)
• 既定で準備されているレポートでも十分かなと
• ディスク使用量の概要レポート
• クエリ統計の履歴
• サーバーの利用状況の履歴
[参考]データ コレクション
http://msdn.microsoft.com/ja-jp/library/bb677179.aspx
db techshowcase 東京 2013
20
22. まとめ
• SQL Server も収集する情報がわかれば、おもりは可能です
• 標準ツールで必要な情報を一括採取できます
• 手っ取り早くしたいならデータ コレクタを使いましょう
• でも、実行環境にデータ コレクタの DWH 作らないでください
• 問題点がわかったら、対策を練りましょう
• まずは、実行プランを見てチューニングできるところを探してみる
db techshowcase 東京 2013
23