これがDB2パフォーマンス向上の9カ条だ:DB2チューニング・ベストプラクティス(1)(2/3 ページ)
次に示すのは、データベースから最大のパフォーマンスを引き出すための9項目です。通常、最大パフォーマンスの約90%は、可能な構成変更の約10%を使用することで達成されます。以下のそれぞれの項目について、本連載で取り上げる各セクション(カッコ内に連載回とセクション名を記してあります)で詳しく説明します。
- 十分な数のディスクを確保します(CPUごとに6〜10個程度から始めるとよいでしょう)。それぞれの表スペースのコンテナは、使用可能なすべてのディスクにまたがるようにします。SYSCATSPACEや少数の表を含む表スペースなどは、すべてのディスクに分散させる必要はありませんが、大きなユーザー表や一時表を含んでいる表スペースの場合はそのようにします(第2回 表スペースの作成)。
- バッファ・プールが、使用可能メモリの約75%(OLTPの場合)または約50%(OLAPの場合)を使用するようにします(第2回 バッファ・プールの作成)。
- すべての表(システム・カタログ表を含む)に対してRunstatsを実行します(第7回 継続的なメンテナンス/Runstats)。「設計アドバイザー」を使用して、SQLワークロードに対する索引の推奨や検討を行います(第6回 詳細なSQL分析/設計アドバイザー)。
- 「構成アドバイザー」を使用して、アプリケーション環境に合わせてデータベース・マネージャーやデータベースを構成します(第1回 構成アドバイザー)。
- ロギングは、独立した高速ディスク上で行います。これは、データベース構成パラメータのNEWLOGPATHで指定します(第5回 データベースの作成/実験)。
- 頻繁にコミットすることで、並行性を高めることができます(第6回 詳細なSQL分析/SQLステートメントのチューニング)。
- ソート・オーバーフローを避けるために、SORTHEAPを大きくします(第5回 DBMとDBの構成)。
- 表スペース・タイプは、システム・カタログ表スペースとシステム一時表スペースについてはSMS(System-managed Space:システム管理スペース)注 とし、それ以外についてはDMS(Database-Managed Space:データベース管理スペース)ロー(デバイス)またはDMSファイルとします。SMS表スペースの場合、db2empfaを実行して、複数ページ・ファイル割り振りを可能にします。これにより、SMS表スペースは一度に(1ページではなく)1つのエクステントを拡張できるようになり、大量の挿入操作やディスクを大量に使用するソートを高速化することができます(第2回 表スペースの作成)。(編集局注:SMSに続くカッコ内で当初「Storage Management Subsystem:ストレージ管理サブシステム」と記述しておりましたが、これは誤りでした。正しくは「System-managed Space:システム管理スペース」です。2004年7月29日修正)注とし、それ以外についてはDMS(Database-Managed Space:データベース管理スペース)ロー(デバイス)またはDMSファイルとします。SMS表スペースの場合、db2empfaを実行して、複数ページ・ファイル割り振りを可能にします。これにより、SMS表スペースは一度に(1ページではなく)1つのエクステントを拡張できるようになり、大量の挿入操作やディスクを大量に使用するソートを高速化することができます(第2回 表スペースの作成)。
(編集局注:SMSに続くカッコ内で当初「Storage Management ubsystem:ストレージ管理サブシステム」と記述しておりましたが、これは誤りでした。正しくは「System-managed Space:システム管理スペース」です。2004年7月29日修正)
- 繰り返されるステートメントに対しては、パラメーター・マーカーを使用します(第6回 詳細なSQL分析/SQLステートメントのチューニング)。
編集部:本連載の各回で扱うテーマを以下に示します。上述のカッコ内に示したセクション名で下記の各テーマ名に現れないものは、サブテーマとして扱われているためです。
Copyright © ITmedia, Inc. All Rights Reserved.