Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
1
ItaniumItanium®® Solutions AllianceSolutions Alliance
ItaniumItanium®® 上に構築された上に構築されたSQLSQL Server Server 基幹系システムの基幹系システムの
パフォーマンスチューニングパフォーマンスチューニング2006.3.72006.3.7
株式会社エイ・エヌ・テイ株式会社エイ・エヌ・テイ(4(4月月11日より日より 株式会社株式会社 CSK Win CSK Win テクノロジテクノロジ に変更に変更))
執行役員執行役員 Chief Technology OfficerChief Technology OfficerPASSJPASSJ理事理事熊澤熊澤 幸生幸生
本日の本日のAgendaAgenda
SQLSQL ServerServerプラットフォーム選択上の留意点プラットフォーム選択上の留意点
SQL Server 2005 64SQL Server 2005 64ビット移行上の留意点ビット移行上の留意点
大規模導入事例のご紹介大規模導入事例のご紹介
まとめまとめ
SQLSQL ServerServerプラットフォーム選択上の留意点プラットフォーム選択上の留意点
システムシステム ライフサイクルライフサイクル とと チューニングチューニング概念設計から論理設計概念設計から論理設計
要件分析、要件分析、H/WH/Wサイジング、サイジング、DBDB設計、アーキテクチャ設計設計、アーキテクチャ設計
物理設計と実装、性能テスト物理設計と実装、性能テスト物理データベース構築と各種テスト物理データベース構築と各種テスト
DBDBの実装、テストデータ作成、テストケース作成と検証の実装、テストデータ作成、テストケース作成と検証
主に主にProfilerProfilerとクエリーアナライザーによるアプリケーションとクエリーアナライザーによるアプリケーション単位の最適化単位の最適化
本稼動環境の構築本稼動環境の構築本稼動に最適化した本稼動に最適化した SQL Server SQL Server 環境の構築環境の構築
本稼動後を想定した領域サイズの決定本稼動後を想定した領域サイズの決定
DBADBAによる日常の環境保守による日常の環境保守
バックアップ取得、領域最適化バックアップ取得、領域最適化
システム運用とアプリケーション保守システム運用とアプリケーション保守ハードウエアハードウエア ベンダーによるベンダーによるH/WH/W、、ServiceService PackPack主体の保守が中心で主体の保守が中心ではは??日々の変化に対応した監視とチューニングを実施していますか日々の変化に対応した監視とチューニングを実施していますか??
稼動稼動H/WH/W環境の選択ポイント環境の選択ポイント
導入する導入するOSOSととSQL Server SQL Server EditionEditionの決定の決定
SQLSQL ServerServerで必要な機能はで必要な機能は
必要なメモリーの上限は必要なメモリーの上限は
必要な必要なCPUCPU数は数は
ライセンス形態と将来のアップグレードへの対処ライセンス形態と将来のアップグレードへの対処
冗長性設計冗長性設計
クラスタリングクラスタリング
レプリケーションレプリケーション//ログシッピングログシッピング
バックアップ頻度と媒体バックアップ頻度と媒体
RAIDRAID構成構成
ディスク上のパーティションと必要な物理ファイルディスク上のパーティションと必要な物理ファイル
将来のスケーラビリティへの対処将来のスケーラビリティへの対処
サービス開始時には想定できなかったことへの対処はサービス開始時には想定できなかったことへの対処は十分か十分か??
B2CB2C WebWebサービスは特に注意が必要サービスは特に注意が必要
利用者数の急増利用者数の急増
提供サービス範囲の拡大提供サービス範囲の拡大
他社の他社のWebWebサービスとの連携サービスとの連携多くの企業は多くの企業は90%90%以上の人的資源をこのために費やしている以上の人的資源をこのために費やしている
アプリケーション・アーキテクチャアプリケーション・アーキテクチャ
IsolationIsolation レベルと同時実行ユーザ数レベルと同時実行ユーザ数
排他制御粒度と必要な範囲排他制御粒度と必要な範囲((時間時間))論理的な矛盾への対処論理的な矛盾への対処
これらの考慮に欠けると致命的な欠陥を持つシステムとなり、システムのこれらの考慮に欠けると致命的な欠陥を持つシステムとなり、システムの再構築が必要な場合がある再構築が必要な場合がある
スケールアップスケールアップ vsvs スケールアウトスケールアウト
SQLSQL Server 64Server 64ビット化によるサーバ統合とスケーラビリティ向上ビット化によるサーバ統合とスケーラビリティ向上
2
プラットフォーム診断でプラットフォーム診断でのの顕在化事例顕在化事例-- 顧客からのチューニング依頼で多く聞かれる問題点顧客からのチューニング依頼で多く聞かれる問題点 --
CPUCPU占有率が常時占有率が常時80%80%を越えているを越えている
spidspidプロセス間の排他でデッドロックや長時間プロセス間の排他でデッドロックや長時間の待ちが発生しているの待ちが発生している
利用者数が急増するときに、ログイン処理で利用者数が急増するときに、ログイン処理でタイムアウトが発生するタイムアウトが発生する
利用者急増対策として、更新系と参照系の利用者急増対策として、更新系と参照系のDBDBサーバを分離してレプリケーションで連携してサーバを分離してレプリケーションで連携しているが、異常に遅いいるが、異常に遅い
同一バッチ処理の処理時間が大幅に変動する同一バッチ処理の処理時間が大幅に変動する
パフォーマンス阻害要因パフォーマンス阻害要因::ワーストワースト55キューキュー::実行待ち行列実行待ち行列
アーキテクチャ設計の欠如アーキテクチャ設計の欠如排他制御と同時実行性制御、データ格納ページ決定アルゴリズム排他制御と同時実行性制御、データ格納ページ決定アルゴリズム
SQLSQL ServerServerは多くの待ち行列制御アルゴリズムから構成されるは多くの待ち行列制御アルゴリズムから構成される
不適切なサーバの構成管理不適切なサーバの構成管理H/WH/W、、N/WN/W、、OSOS、、DBMSDBMS
不適切なクエリーと不適切なクエリーとDBDB設計設計SQLSQL ServerServerの特性を理解していないの特性を理解していないQueryQuery (T(T--SQL)SQL)ととDBDB設計設計
不適切なインデックス定義不適切なインデックス定義ワークロードに直結しない定義、インデックスの欠如、ワークロードに直結しない定義、インデックスの欠如、検索と更新処理のトレードオフ検索と更新処理のトレードオフ
不適切なオプティマイザ・プラン不適切なオプティマイザ・プラン結果セットの大きさ、ジョイン・ネストの深さ、及び、結果セットの大きさ、ジョイン・ネストの深さ、及び、AdhocAdhocクエリーの多用クエリーの多用
25% 25% 20% 10% 20%
0 % 20 % 4 0% 6 0% 8 0 % 1 00 %
アプリケーションアーキテクチャDB設計セッション内のT-SQL文ハードウエアの構成パフォーマンス監視によるワークロード変更
パフォーマンスに与える要因パフォーマンスに与える要因
プラットフォーム診断でプラットフォーム診断でのの顕在化事例顕在化事例-- アプリケーション変更なしで対応できたケースアプリケーション変更なしで対応できたケース --
メモリーの増設と最適な設定メモリーの増設と最適な設定
最もクリティカルな共有資源最もクリティカルな共有資源
不足すると不足するとCPUCPU負荷と負荷とI/OI/O負荷が増大する負荷が増大する
ディスクディスク I/OI/O負荷分散の実施負荷分散の実施
適切な論理パーティション分割と適切な論理パーティション分割とRAIDRAID選定選定
サーバ間ネットワーク帯域幅の見直しサーバ間ネットワーク帯域幅の見直し
定期的なデータベース領域最適化の実施定期的なデータベース領域最適化の実施
インデックス設定の最適化と不要なインデッインデックス設定の最適化と不要なインデックスの削除クスの削除
6464ビットデータベース環境への移行ビットデータベース環境への移行 技術支援(運用支援)
技術支援(運用支援) 監視ツール導入監視ツール導入
中間報告中間報告
お客様側でのチューニングお客様側でのチューニング
効果測定効果測定
報告報告
ヒアリングヒアリング
実施決定実施決定
現状調査現状調査
分析分析
お客様のお悩み、SQL Serverの運用環境をヒアリングさせていただきます。
ご相談の上、実施を決定していただきます。
お客様の環境を調査いたします。
調査結果を元に、問題点、有効なチューニング方法を分析します。
チューニングのための設定方法を報告いたします。
チューニングの効果を測定・検証します。
報告内容を元にお客様側で設定していただきます。
チューニング効果を含めて、最終報告をいたします。
SQL Server SQL Server パフォーマンスパフォーマンス チューニングチューニング サービスの流れサービスの流れ
SQL Server 2005 64SQL Server 2005 64ビット移行上の留意点ビット移行上の留意点
SQL Server 2005 SQL Server 2005 アーキテクチャアーキテクチャ
SQL Message HTTP Message RPC Message Result
SQL OS (UMS : User Mode Scheduler)
SQL CLR Hosting Layer
Deadlock Monitor
Lock Manager Buffer Pool
Memory ManagerSynchronization
Service
Scheduler
Storage Engine
METADATA Interface
Execution Environment
PARSER
Expression Service
CLR T-SQLExecution
QueryExecution
SQLManager
QueryOptimizer
T-SQLCompiler
Algebraizer
3
SQLSQL Server Server スレッドスレッド スケジューリングスケジューリング-- SQL OS (User Mode Scheduler) SQL OS (User Mode Scheduler) --
ノンノン プリエンプティブプリエンプティブ スケジューラスケジューラ
SQL Server 7.0 SQL Server 7.0 からからSQL OS(SQL OS(UMSUMS))を採用を採用
協調的なユーザモード協調的なユーザモード スケジューリングサブシステムスケジューリングサブシステム
独自のスレッド独自のスレッド プーリング機能を提供プーリング機能を提供
待機状態の待機状態のSQLSQLユーザを効率よく処理できるユーザを効率よく処理できる
SQLSQLユーザ特有のユーザ特有のCPUCPU処理時間の管理が可能処理時間の管理が可能
SQL OSSQL OSがスレッドの待機状態を認識可能がスレッドの待機状態を認識可能
SQLSQLユーザユーザ((spidspid))をさまざまなキュー上に配置し状態管理と状をさまざまなキュー上に配置し状態管理と状態遷移を制御可能態遷移を制御可能
OSOSに制御を渡すことなくに制御を渡すことなくSQLSQLユーザユーザ((spidspid))の切替が可能の切替が可能
なぜなぜSQL OSSQL OSが必要かが必要か
複数スレッド実行制御の向上複数スレッド実行制御の向上OSOS上のコンテキスト・スイッチの回避上のコンテキスト・スイッチの回避
カーネルモードへの切替の回避カーネルモードへの切替の回避
SQLSQL OSOS独自機能の提供独自機能の提供非同期非同期I/OI/Oのサポートのサポート
NTNTファイバー機能の提供ファイバー機能の提供
WindowsWindows 20032003では推奨しないでは推奨しない
SQLSQL OSOSによる抽象化オブジェクトによる抽象化オブジェクトスレッドスレッド
同期処理同期処理
I/OI/O処理処理
SQL Server 2005 SQL Server 2005 内部構造の変更点内部構造の変更点UMSUMS からから SQLSQL OS OS へへ
従来の従来の User Mode Scheduler User Mode Scheduler を全面的にを全面的にRewriteRewriteSQLSQL CLR CLR 対応対応
SOSODA DA ((Service Oriented Database ArchitectureService Oriented Database Architecture)) 対応対応
ServiceService Broker / Broker / MSMS DTDTCCの改良の改良 / Notification Service / SOAP / Notification Service / SOAP DBDBミラーリングミラーリング
SQL Server 2005 SQL Server 2005 新機能対応新機能対応
内部的な内部的な Wait Events Wait Events 事象の増強事象の増強
SQLSQL Server 2000 : 75Server 2000 : 75種類種類
SQL Server 2005 : 221SQL Server 2005 : 221種類種類
拡張パフォーマンスカウンター増強拡張パフォーマンスカウンター増強((ユーザユーザDBDB数により数により変動変動))
SQLSQL Server 2000 : Server 2000 : 382382種類種類
SQL Server 2005 : SQL Server 2005 : 662662種類種類
新たなロック新たなロック マネージャとロック粒度の導入マネージャとロック粒度の導入
SQL Server 2005 64SQL Server 2005 64ビット化の恩恵ビット化の恩恵最大の恩恵はメモリープール最大の恩恵はメモリープール
IA32IA32アーキテクチャアーキテクチャ:SQL:SQL Server 2000Server 2000仮想アドレスの仮想アドレスの4GB4GB制限制限
SQL Server 2000 SQL Server 2000 仮想アドレス仮想アドレス 2GB2GB or 3GBor 3GB最大物理メモリー最大物理メモリー64GB64GB with AWE : Enterprise Editionwith AWE : Enterprise Editionが必が必要要
バッファーキャッシュとプロシージャキャッシュサイズのバッファーキャッシュとプロシージャキャッシュサイズの制限制限
ItaniumItanium 2 2 ネイティブネイティブ6464ビット環境ビット環境
仮想アドレス仮想アドレス7TB/7TB/最大物理メモリー最大物理メモリー1TB1TB
x64x64拡張拡張6464ビット環境ビット環境
仮想アドレス仮想アドレス8TB/8TB/最大物理メモリー最大物理メモリー1TB1TBIntelIntel Xeon EM64T Xeon EM64T プロセッサをサポートプロセッサをサポート
フラットフラット6464ビットアドレス空間ビットアドレス空間 vsvs AWEAWE
仮想アドレス空間 1TBAWE Max 64GB
仮想アドレス空間
オペレーティング システム領域 オペレーティング システム領域
Syste
m d
ata
structu
res
Lock
Pro
cedure
Cache
Buffe
r cache
Log c
ache
Use
rs Connectio
n c
onte
xt
Syste
m d
ata
structu
res
Lock
Pro
cedure
Cache
Log c
ache
Use
rs Connectio
n c
onte
xt
Buffe
r cache
4GB
AWEによるメモリ空間 64bitによるメモリ空間
SQL Server アドレス スペース
Net-Library DLLs
Open Data Services Codes
SQL Server Codes
Distributed queryOLE DB providers
OLE Automation Objects Extended stored procedures
SQL Server SQL Server アドレスアドレス スペーススペース
メモリープール
Systemdata
structures
ProcedureCacheHashIndex
BufferCache
(Indexとデータページ)
Logcache
UsersConnection
context
Worker Thread Stacks
SQL Server Code
2GB
カーネル領域内に確保
メモリ プール
Worker Thread Stacks
Memory To Leave
Lock
4
プロシージャ・キャッシュの内部プロシージャ・キャッシュの内部
大規模導入事例のご紹介大規模導入事例のご紹介
HP Integrity SuperdomeHP Integrity Superdome++6464ビットビットSQLSQLによるによる
取引取引DBDBのスケールアップのスケールアップ -- 株式会社株式会社 外為どっとコム外為どっとコム --
外国為替証拠金取引の業界で、インターネットに特化し、急速に業績を伸張させているリーディング・カンパニー。直接リテールと大手ネット証券向けASPサービスを手がけて急速にユーザ数を伸ばしている。
2005年に向けてサービスの質による企業淘汰が進むと予測される中、会員増加や仲介業務(ASP)の提供を通じて増大する処理の増大に耐えられる新システムへの移行が必要だった。
顧客のチャレンジ顧客ビジネス概要&課題
HPのソリューション
ビジネスベネフィット
直接リテール&大手ネット証券向けASPサービスで、顧客数が大幅に伸張している中で、従来の32ビット・DBサーバ(他社IA-32)では処理性能の限界を迎えてしまった。 24時間止められないサービスでありながら、システム負荷が限界を迎えていた。
・トランザクション・ピーク時にCPU負荷70~90%・顧客サービスのレスポンスの問題
・新サービスの投入が不可能な状態
32ビット環境からHPの64ビット・HP Integrity サーバに移行し、データベースの統合とスケールアップを実現。
性能向上(CPU負荷を15~25%)と信頼性の高いサービスを実現・HP Integrity Superdome 32Way(32CPU搭載)x2台・64GB メモリーX2台・HP StorageWorks xp128・Windows Server 2003, Datacenter Edition・SQL Server 2000
• 24時間止まらない信頼性の高いサービスを実現• システムリソースに余裕ができ、競合差別化の為の新サービスの投入が可能になった。
• サービスを止めないバックアップ運用を実現
• 運用負荷が低減。IT部門が本来の開発業務に専念できる。
FC Switch
HP Integrity Superdome
稼動系
h p d i s k a r r a y x p 1 0 2 4
R EADYA LARM
M ESSAGE
PUSH
EMERGE NCY
UNI T
EMERGE NCYPOWER OFF
h p d i s k a r r a y x p 1 0 2 4
HP StorageWorksディスク・アレイ xp128
1.4TB
本番0 .7TB
ビジネスコピー0.7 TB
HP Integr ity Superdome
待機系
Heartbeat
FC Switch
<バックアップ・サーバ構成>
Itanium2 x 16CPU32GBメモリ
Itanium2 x 16CPU32GBメモリ
バックアップ・マネージャ
ProLiant DL380 G4
StorageWorksMSL6030L2
HP Integrity Superdomeへの移行で、ユーザサービスのレスポンスを向上し、24時間止まらない信頼性の高いサービスを実現。規模拡大に柔軟に対応できる拡張性も確保し、新サービスの投入が可能になる。
SQLSQL Server 2000 64Server 2000 64ビット版環境ビット版環境
WindowsWindows Server 2003 Server 2003 環境環境 Memory pool Memory pool 利用状況利用状況::単位単位MBMB
5
Memory pool Memory pool 利用明細利用明細::単位単位MBMBTime Free List Sort/Hash/Index User Connections Lock Area Optimizer Code Procedure Cache Buffer Cache16:50 305.84 1.07 8.84 7.89 0.22 4,095.58 29,089.8516:51 306.96 4.95 8.95 7.89 0.00 4,095.34 29,086.7716:52 307.96 0.00 9.05 7.89 0.00 4,095.27 29,090.7516:53 308.39 2.85 8.73 8.01 0.38 4,095.25 29,088.5916:54 309.40 1.75 8.38 8.10 0.00 4,095.20 29,090.1316:54 309.39 1.48 8.27 8.10 0.00 4,095.31 29,090.4816:55 309.94 2.05 8.55 8.20 0.27 4,095.02 29,089.2716:56 310.11 1.98 8.18 8.13 0.00 4,095.46 29,089.8216:57 309.55 1.29 8.29 8.23 0.00 4,094.92 29,092.0516:58 309.30 2.98 8.65 8.23 0.00 4,095.21 29,090.5516:59 201.89 488.64 8.20 8.02 0.00 4,095.68 28,713.1317:00 310.20 0.45 8.55 7.91 0.00 4,095.73 29,092.9817:00 310.69 0.00 8.62 7.91 0.13 4,095.14 29,093.4417:00 309.38 1.48 8.84 8.04 0.00 4,095.49 29,092.8017:00 309.39 0.91 9.00 7.88 0.67 4,095.33 29,093.2317:01 310.00 1.26 9.02 7.88 0.09 4,095.43 29,092.5417:01 310.09 0.00 8.90 8.02 0.00 4,095.43 29,093.8417:02 311.75 0.91 8.90 8.38 0.12 4,095.23 29,093.1717:02 311.68 0.91 8.81 8.20 0.29 4,095.68 29,093.7617:02 311.09 2.51 8.80 8.20 0.51 4,095.44 29,092.8017:03 311.94 3.84 8.80 8.20 0.00 4,095.34 29,091.5817:03 311.02 2.58 12.10 8.06 0.22 4,095.49 29,093.5917:03 312.31 0.99 12.27 8.06 1.69 4,095.63 29,092.1617:03 313.49 0.97 12.23 8.06 0.54 4,095.09 29,092.8017:04 313.73 1.31 12.13 7.94 0.00 4,095.83 29,092.3317:04 314.45 3.54 10.93 7.94 0.00 4,095.31 29,091.0017:05 317.43 0.99 10.41 8.23 0.66 4,095.91 29,090.2617:05 317.98 0.53 10.37 8.23 0.23 4,095.81 29,090.9017:05 318.18 0.60 10.43 8.23 0.12 4,095.72 29,090.8517:05 318.73 1.45 10.38 8.04 0.00 4,095.55 29,090.4917:06 318.32 1.45 10.63 8.04 0.12 4,095.50 29,090.5917:06 317.08 2.05 10.50 8.04 0.08 4,095.92 29,091.3017:06 316.80 4.15 10.70 7.89 0.07 4,095.34 29,090.0317:06 316.45 1.45 10.86 7.89 0.77 4,095.81 29,091.7717:07 317.30 1.45 10.99 7.89 0.06 4,095.88 29,091.6017:07 317.14 1.31 11.09 7.77 0.85 4,095.21 29,092.8017:08 319.80 1.45 10.86 8.21 0.47 4,095.40 29,092.8317:09 223.40 490.72 10.34 8.02 0.14 4,095.55 28,705.0317:10 319.27 1.47 10.41 7.85 2.57 4,095.21 29,096.5717:11 324.19 1.59 10.02 7.83 1.53 4,093.87 29,097.2117:12 322.61 1.74 9.91 7.63 0.56 4,094.99 29,099.4617:14 217.05 492.92 9.33 7.59 0.00 4,095.05 28,717.73
SQL OS : SQL OS : UMSUMSの稼動状況の稼動状況Scheduler ID 0 Scheduler ID 4 Scheduler ID 8 Scheduler ID 12num users 16 num users 16 num users 16 num users 15num runnable 0 num runnable 0 num runnable 0 num runnable 0num workers 12 num workers 12 num workers 11 num workers 11idle workers 11 idle workers 11 idle workers 10 idle workers 11work queued 0 work queued 0 work queued 0 work queued 0cntxt switches 16,177,769 cntxt switches 18,042,092 cntxt switches 18,254,068 cntxt switches 9,336,131cntxt switches(idle) 24,457,412 cntxt switches(idle) 21,039,958 cntxt switches(idle) 27,440,428 cntxt switches(idle) 20,492,790Scheduler ID 1 Scheduler ID 5 Scheduler ID 9 Scheduler ID 13num users 16 num users 16 num users 16 num users 15num runnable 0 num runnable 0 num runnable 0 num runnable 0num workers 12 num workers 12 num workers 11 num workers 11idle workers 11 idle workers 11 idle workers 11 idle workers 11work queued 0 work queued 0 work queued 0 work queued 0cntxt switches 37,663,712 cntxt switches 15,900,193 cntxt switches 16,099,341 cntxt switches 16,745,609cntxt switches(idle) 49,289,828 cntxt switches(idle) 21,612,924 cntxt switches(idle) 21,019,844 cntxt switches(idle) 20,893,128Scheduler ID 2 Scheduler ID 6 Scheduler ID 10 Scheduler ID 14num users 16 num users 16 num users 16 num users 15num runnable 0 num runnable 2 num runnable 0 num runnable 0num workers 12 num workers 11 num workers 11 num workers 11idle workers 11 idle workers 8 idle workers 11 idle workers 10work queued 0 work queued 0 work queued 0 work queued 0cntxt switches 12,022,086 cntxt switches 35,127,228 cntxt switches 16,655,574 cntxt switches 7,504,071cntxt switches(idle) 19,302,274 cntxt switches(idle) 17,101,574 cntxt switches(idle) 21,079,872 cntxt switches(idle) 17,147,664Scheduler ID 3 Scheduler ID 7 Scheduler ID 11 Scheduler ID 15num users 16 num users 16 num users 16 num users 15num runnable 0 num runnable 0 num runnable 0 num runnable 0num workers 12 num workers 11 num workers 11 num workers 11idle workers 11 idle workers 10 idle workers 11 idle workers 11work queued 0 work queued 0 work queued 0 work queued 0cntxt switches 11,502,375 cntxt switches 9,580,808 cntxt switches 19,258,224 cntxt switches 7,460,480cntxt switches(idle) 22,359,652 cntxt switches(idle) 18,706,484 cntxt switches(idle) 21,893,624 cntxt switches(idle) 17,934,436
CPUCPU負荷が高い負荷が高い-- CPUCPU占有率と占有率とTT--SQLSQLバッチ相関関係バッチ相関関係 --
CPU占有率(積算値) Client T-SQLバッチ要求回数
ClientClientから発行されたから発行されたTT--SQLSQLバッチの内、約バッチの内、約1/31/3ががAdhocAdhocクエリーでクエリーでコンパイルのためのコンパイルのためのCPUCPU負荷が増大しております負荷が増大しておりますsp_executesqlsp_executesql を利用したパラメータクエリーへの変更を考慮くださいを利用したパラメータクエリーへの変更を考慮ください
17:3017:30収集データ収集データ-- ユーザ接続数ユーザ接続数 ととCPU CPU 利用状況利用状況 --
17:03から、ユーザ接続数が275から、405に急増した後、CPU占有率が0%に低下
ユーザ接続セッション数 CPU占有率(累積値)
17:3017:30収集データ収集データ-- TT--SQLSQLバッチとユーザ接続数バッチとユーザ接続数 --
17:00から、T-SQLバッチ数が、600から1,800に急増後、17:03ユーザ接続数が405に急増
Client T-SQLバッチ要求回数 ユーザ接続セッション数
17:3017:30収集データ収集データ-- TT--SQLSQLバッチとロックバッチとロック --
17:00から、T-SQLバッチ数が、600から1,800に急増後、17:00-03にページロックが1,000-2,000に急増
Client T-SQLバッチ要求回数 ロック発行回数
6
17:3017:30収集データ収集データ-- ロックとロックとCPU CPU 利用状況利用状況 --
17:00ごろから、ページロック数が2,000に急増した後、CPU占有率が0%に急落
ロック発行回数 CPU占有率(累積値)
HP Integrity SuperdomeHP Integrity Superdome++6464ビットビットSQLSQLによる「による「NIKKEI NIKKEI NETNET」」DBDBコンソリデーションコンソリデーション -- 日本経済新聞社日本経済新聞社 --
「NIKKEI NET」のサービス名で1996年という早い時期からWebサイトをスタートさせ、多彩なサブサイトを用意し、広範なジャンルにわたって情報提供を
行っている。1日当りのページビューは約900万、最近では1000万に迫る日もある。
人気サイトが「マネー&マーケット」で売りとなっているコンテンツは株式市場や企業業績などに関する速報ニュースと株価の検索「株価サーチ」。今後も株式
市場での個人投資家は確実に増加していくことが予想される。こうした動きに対応できる余裕をもたせるため、DBサーバのリプレイスが検討されるようになっていた。
「NIKKEI NET」と連携したDBにIntegrity Superdomeを採用。近い将来、1日当り1500万ページビューを達成し、“最強の経済ニュースサイト”を実現できるだけの性能向上とシステム運用に掛かる大幅なコスト削減が可能となる。
顧客のチャレンジ顧客ビジネス概要&課題
HPのソリューション
ビジネスベネフィット
今回のDBリプレースでは、「株価サーチ」のデータベース・エンジンをより強力にすることに加え、システム運用にかかるコストの大幅な削減も重要なテーマであった。
従来のスケール・アウト戦略から単体サーバでの性能向上を図るスケール・アップ戦略にすることで複数のIA32サーバでこなしていた処理を一つの高性能な64ビット・サーバに統合し、ライセンス料や保守料金の劇的なコストダウンを実現しようという狙いもあった。
・管理コストの削減
・データベース・エンジンの強化
・一日当たり1500万ページビューを達成し、“最強の経済ニュースサイト”を実現
日本HPのItanium ソリューション・センターで合計6週間(各3週間2フェーズ)にわたり事前検証を実施。第一回目では、Integrity サーバの動作検証や同社のサーバなどを持ち込んだ接続性の検証などを行う。第二回目では、実際にSuperdomeを同センターに用意し、パフォーマンスの検証を実施。
64bit Windows環境を構築し、データベース統合を実現。・HP Integrity Superdome 16way(8CPU搭載)x2台・Windows Server 2003, Data Center Edition・SQL Server 2000
• アクセス数の増加、利用者の大きな伸びに対応できる
• ランセンス料や保守料金のコストダウン
• サービスの拡充に余裕で対応できるSANRISE
Partition2
Partition1 Partition1
Partition2
Superdome本番系 Superdome待機系
・・・・ ・・・・
お客様のチューニング要望お客様のチューニング要望
20052005年年99月頃から、東京証券取引所から月頃から、東京証券取引所から取得する株価更新データ取得する株価更新データ(80(80万件万件/4.5Hrs)/4.5Hrs)をを表示用データベースに格納する処理に最大表示用データベースに格納する処理に最大6060分程度の分程度の遅延遅延が発生するが発生する
WebWebサイトのページビューは、サイトのページビューは、500500万万/Day/Day今後ますます株価取引とデータ検索が増加す今後ますます株価取引とデータ検索が増加することが予想されるることが予想される
許される許される遅延遅延はは2020分未満分未満
できれば、更新データできれば、更新データ120120万件万件//日、日、ページビューページビュー 800800万万//日まで対応したい日まで対応したい
SQL Server SQL Server 状態状態
WindowsWindows Server 2003 Server 2003 状態状態 メモリープールの推移メモリープールの推移(1)(1)
7
メモリープールメモリープール(1)(1) 88GBGB内訳内訳::単位単位MBMB
Time Free List Sort/Hash/Index User Connections Lock Area Optimizer Code Procedure Cache Buffer Cache8:49 121.30 0.00 1.54 1.56 0.00 2,292.00 1,347.228:50 120.62 2.23 1.77 2.08 0.00 2,292.09 1,516.598:51 119.64 0.84 1.70 1.88 0.00 2,293.80 1,517.708:52 119.18 0.00 1.72 1.81 0.00 2,296.23 1,517.708:53 118.56 0.48 1.65 1.76 0.00 2,296.96 1,517.318:55 120.52 0.00 1.65 1.64 0.00 2,297.33 1,518.208:56 741.74 1.29 1.70 1.64 0.00 1.59 3,191.188:57 2,517.80 0.45 1.73 1.62 0.00 24.94 1,392.818:58 2,511.39 1.29 1.68 1.57 0.00 31.56 1,391.918:59 2,511.84 0.84 1.66 1.57 0.00 31.74 1,391.729:00 2,503.02 0.45 1.66 1.57 0.00 40.82 1,391.879:01 2,318.78 653.25 1.71 1.56 0.00 102.85 861.279:02 2,398.74 0.00 1.90 1.56 0.00 139.66 1,397.719:03 2,390.73 0.00 1.93 3.69 0.00 146.38 1,396.889:04 2,335.48 0.00 2.73 3.15 0.00 186.00 1,412.769:15 1,765.20 652.77 2.06 9.20 0.00 552.32 975.709:16 1,848.80 1.91 2.19 7.65 0.00 580.30 1,516.489:17 1,808.95 0.00 2.09 5.41 0.00 621.50 1,519.439:18 1,778.46 0.48 2.19 4.59 0.00 651.06 1,520.669:19 1,769.50 0.45 2.13 3.96 0.00 659.66 1,521.769:20 1,735.62 0.54 2.27 3.46 0.00 693.86 1,521.809:21 1,678.73 0.00 2.84 2.74 0.00 747.98 1,525.349:22 1,670.91 0.00 2.94 2.74 0.00 754.90 1,526.139:22 1,647.66 1.38 3.16 2.48 0.00 776.77 1,526.209:23 1,599.05 0.48 3.41 2.27 0.00 791.84 1,569.059:23 1,592.05 0.00 3.45 2.27 0.00 799.09 1,569.249:24 1,585.34 3.05 3.49 2.11 0.00 804.06 1,568.059:25 1,559.76 0.45 3.56 1.98 0.00 829.73 1,570.67
ユーザコネクションの推移ユーザコネクションの推移
まとめまとめ
SQLSQL Server 2005 Server 2005 への期待への期待 (1)(1)NUMANUMAのフル・サポートのフル・サポート
WindowsWindows Server 2003 Server 2003 はは NUMANUMA API API を提供を提供
SQLSQL Server 2005 Server 2005 は上記は上記 APIAPI を活用し、を活用し、物理メモリー物理メモリー(CLM)(CLM)の有効利用を実現の有効利用を実現
従来に比べ従来に比べ30%30%以上のスケーラビリティの向上が報告されている以上のスケーラビリティの向上が報告されている
データ・パーティショニング機能データ・パーティショニング機能従来従来::インデックスビューが唯一の解決策インデックスビューが唯一の解決策
分散パーティションビューはオーバーヘッド大分散パーティションビューはオーバーヘッド大
サーバ内インデックスビューサーバ内インデックスビュー
複数テーブルを複数テーブルをVIEWVIEWを用いてを用いてUNIONUNION ALLALLで連結で連結
複数テーブルにわたる処理は遅い複数テーブルにわたる処理は遅い
データベース管理者への負担が大きいデータベース管理者への負担が大きい
バックアップと領域の最適化バックアップと領域の最適化
不要データのアーカイブ処理不要データのアーカイブ処理
定期的なビューの再定義とアプリケーション変更定期的なビューの再定義とアプリケーション変更
これらの課題を一気に解決可能これらの課題を一気に解決可能
SQLSQL Server 2005 Server 2005 への期待への期待 (2)(2)
DWH/OLAP/ETLDWH/OLAP/ETLツールツール のの6464ビット対応とビット対応とSMPSMPフルサポートフルサポート
6464ビットアドレス空間の恩恵ビットアドレス空間の恩恵
ItaniumItanium 22 とと x64x64 の選択肢の選択肢
Itanium 2 / Xeon Itanium 2 / Xeon プロセッサのマルチコア化プロセッサのマルチコア化
スケールアウト時の消費電力と発熱の問題スケールアウト時の消費電力と発熱の問題
SQLSQL Server CPU Server CPU ライセンスが変わらないのライセンスが変わらないのがなりよりの朗報ですがなりよりの朗報です
まとめまとめ
今年は今年は SQL Server SQL Server 6464ビットビット 元年元年メモリー・プレッシャーからの解放メモリー・プレッシャーからの解放
従来従来 : : CPUCPU占有率の増大占有率の増大 / / ディスクディスク I/O I/O 負荷の増大負荷の増大
移行にあたりメモリーマップの再検討が必要移行にあたりメモリーマップの再検討が必要
チェックポイント処理で大量の更新済みデータがチェックポイント処理で大量の更新済みデータが存在する場合は、ディスク存在する場合は、ディスク サブシステムの再設計が必要サブシステムの再設計が必要
temptemp db db ののI/OI/O 負荷分散がますます重要になる負荷分散がますます重要になるSQLSQL Server 2005Server 2005新機能で新機能で temp db temp db の領域が増加する機能の領域が増加する機能
snapshotsnapshot isolation isolation levellevel / MARS (Multiple Active Result Sets)/ MARS (Multiple Active Result Sets)OnlineOnline Index Operation / Service Broker / XMLIndex Operation / Service Broker / XML変数とクエリー変数とクエリー
LOBLOBオブジェクト変数オブジェクト変数
同一サイズの複数物理データファイルを同一サイズの複数物理データファイルを temp db temp db に割当てに割当て一時オブジェクト用のエクステント作成処理の分散化を実施一時オブジェクト用のエクステント作成処理の分散化を実施
SODA SODA による目的別による目的別 DB DB 設計が必要設計が必要
8
最後に最後に
@IT で「SQL Server チューニング研修」を1/31から シリーズで連載中です