8
1 Itanium Itanium® Solutions Alliance Solutions Alliance Itanium Itanium® 上に構築された 上に構築された SQL SQL Server Server 基幹系システムの 基幹系システムの パフォーマンスチューニング パフォーマンスチューニング 2006.3.7 2006.3.7 株式会社エイ・エヌ・テイ 株式会社エイ・エヌ・テイ (4 (41日より 日より 株式会社 株式会社 CSK Win CSK Win テクノロジ テクノロジ に変更 に変更) 執行役員 執行役員 Chief Technology Officer Chief Technology Officer PASSJ PASSJ理事 理事 熊澤 熊澤 幸生 幸生 本日の 本日のAgenda Agenda SQL SQL Server Serverプラットフォーム選択上の留意点 プラットフォーム選択上の留意点 SQL Server 2005 64 SQL Server 2005 64ビット移行上の留意点 ビット移行上の留意点 大規模導入事例のご紹介 大規模導入事例のご紹介 まとめ まとめ SQL SQL Server Server プラットフォーム選択上の留意点 プラットフォーム選択上の留意点 システム システム ライフサイクル ライフサイクル チューニング チューニング 概念設計から論理設計 概念設計から論理設計 要件分析、 要件分析、H/W H/Wサイジング、 サイジング、DB DB設計、アーキテクチャ設計 設計、アーキテクチャ設計 物理設計と実装、性能テスト 物理設計と実装、性能テスト 物理データベース構築と各種テスト 物理データベース構築と各種テスト DB DBの実装、テストデータ作成、テストケース作成と検証 の実装、テストデータ作成、テストケース作成と検証 主に 主にProfiler Profilerとクエリーアナライザーによるアプリケーション とクエリーアナライザーによるアプリケーション 単位の最適化 単位の最適化 本稼動環境の構築 本稼動環境の構築 本稼動に最適化した 本稼動に最適化した SQL Server SQL Server 環境の構築 環境の構築 本稼動後を想定した領域サイズの決定 本稼動後を想定した領域サイズの決定 DBA DBAによる日常の環境保守 による日常の環境保守 バックアップ取得、領域最適化 バックアップ取得、領域最適化 システム運用とアプリケーション保守 システム運用とアプリケーション保守 ハードウエア ハードウエア ベンダーによる ベンダーによるH/W H/WService Service Pack Pack主体の保守が中心で 主体の保守が中心で ? 日々の変化に対応した監視とチューニングを実施していますか 日々の変化に対応した監視とチューニングを実施していますか? 稼動 稼動H/W H/W環境の選択ポイント 環境の選択ポイント 導入する 導入するOS OSSQL Server SQL Server Edition Editionの決定 の決定 SQL SQL Server Serverで必要な機能は で必要な機能は 必要なメモリーの上限は 必要なメモリーの上限は 必要な 必要なCPU CPU数は 数は ライセンス形態と将来のアップグレードへの対処 ライセンス形態と将来のアップグレードへの対処 冗長性設計 冗長性設計 クラスタリング クラスタリング レプリケーション レプリケーション/ログシッピング ログシッピング バックアップ頻度と媒体 バックアップ頻度と媒体 RAID RAID構成 構成 ディスク上のパーティションと必要な物理ファイル ディスク上のパーティションと必要な物理ファイル 将来のスケーラビリティへの対処 将来のスケーラビリティへの対処 サービス開始時には想定できなかったことへの対処は サービス開始時には想定できなかったことへの対処は 十分か 十分か? B2C B2C Web Webサービスは特に注意が必要 サービスは特に注意が必要 利用者数の急増 利用者数の急増 提供サービス範囲の拡大 提供サービス範囲の拡大 他社の 他社のWeb Webサービスとの連携 サービスとの連携 多くの企業は 多くの企業は90% 90%以上の人的資源をこのために費やしている 以上の人的資源をこのために費やしている アプリケーション・アーキテクチャ アプリケーション・アーキテクチャ Isolation Isolation レベルと同時実行ユーザ数 レベルと同時実行ユーザ数 排他制御粒度と必要な範囲 排他制御粒度と必要な範囲(時間 時間) 論理的な矛盾への対処 論理的な矛盾への対処 これらの考慮に欠けると致命的な欠陥を持つシステムとなり、システムの これらの考慮に欠けると致命的な欠陥を持つシステムとなり、システムの 再構築が必要な場合がある 再構築が必要な場合がある スケールアップ スケールアップ vs vs スケールアウト スケールアウト SQL SQL Server 64 Server 64ビット化によるサーバ統合とスケーラビリティ向上 ビット化によるサーバ統合とスケーラビリティ向上

Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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ビット化によるサーバ統合とスケーラビリティ向上ビット化によるサーバ統合とスケーラビリティ向上

Page 2: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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

Page 3: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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

Page 4: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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

Page 5: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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バッチ要求回数 ロック発行回数

Page 6: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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)

Page 7: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

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 設計が必要設計が必要

Page 8: Itanium® 上に構築された SQL Server 基幹系システムの...1 Itanium® Solutions Alliance Itanium® 上に構築された SQL Server 基幹系システムのパフォーマンスチューニング

8

最後に最後に

@IT で「SQL Server チューニング研修」を1/31から シリーズで連載中です