9.8 SQL Server構成のチューニング
SQL Serverのリソースは,サーバー構成オプションによって管理されている。サーバー構成オプションは,SQL
Server Enterprise Managerやsp_configureシステムストアドプロシージャを使用して最適化することができる。sp_configureシステムストアドプロシージャを利用した場合はすべてのサーバー構成オプションを設定することができるのに対して,SQL
Server Enterprise Managerを利用した場合は主要な項目のみしか設定することができない。
しかし,従来バージョンのSQL Serverとは異なり,SQL
Server 7.0ではSQL Server自体がシステムの状況を判断して自動的に構成をチューニングしたり管理したりするようになっている。この点は,SQL
Server 7.0における大きな機能強化点の1つである。SQL
Server 7.0では管理者がいちいち手作業でサーバー構成オプションを設定しなくとも,主要な設定項目はSQL
Serverが自動的に適切な設定を選択してくれるので(Table
9-5),管理の手間は格段に軽減される。また,物理的に少ないメモリをSQL
Serverにどれだけ割り当てるかで管理者が頭を悩ませる必要もない。
Table 9-5 SQL Serverが自動設定するサーバー構成オプション
設定項目 | 説明 |
locks | SQL Serverが設定できるロックの最大数を規定する。デフォルト設定は 0 で,SQL Server はシステム要件の変更に基づいてロックを動的に割り当てたり,割り当て解除したりする |
min server memory | SQL Serverが使用する最小メモリ量をMバイト単位で設定する |
max server memory | SQL Serverが使用できるメモリ量 (すべての処理に必要となるメモリの量ではない) を Mバイト単位で設定する |
open objects | SQL Server上で同時にオープンできるsysobjectsテーブルで定義されたテーブル,ビュー,ルール,ストアドプロシージャ,デフォルト,トリガなどのデータベースオブジェクトの最大数を設定する |
recovery interval | SQL Serverがデータベースの復旧に必要な最大時間を分単位で設定する。デフォルトは 0 で,SQL Serverが自動設定する |
user connections | SQL Serverで同時に確立できるユーザー接続の最大数を指定する |
たとえば,SQL Server 7.0ではLazyWriter処理の閾値*1やI/O回数(max lazy writer ioオプション)を自動的に構成してチューニングするので,従来バージョンのSQL
Serverで存在していたfree bufferオプションやmax
lazy writer ioオプションなどは廃止されている。
しかし,すべてのサーバー構成オプションが自動的に設定されるわけではないので,従来バージョンのSQL
Serverで利用可能であったsp_configureシステムストアドプロシージャを利用して各種サーバー構成オプションを手作業で設定することも可能である。しかし基本的に,自動設定されるサーバー構成オプションについては,SQL
Serverで自動構成させるべきである(つまり,自動構成されないものについては,特に設定を変更する必要はない)。これによりSQL
Serverは,データベースサーバーに影響を及ぼすさまざまな状況の変化に応じて,データベースサーバーの構成を自動調整してくれる。どうしてもサーバー構成オプションを手作業で設定したい場合には,システムへの影響を十分に考慮しなければならない。
- 従来バージョンのSQL Serverにおけるfree bufferオプションである。LazyWriterスレッドがバッファキャッシュ内のダーティページをディスクに書き出し,空きバッファを作成するときの基準値となる。空きバッファ数がfree bufferオプションで指定された数以下になれば,ダーティページをディスクに書き出す。
Chapter 9 26/46 |