SQL Server でのディスク I/O 競合の最小化
次に、ArcSDE for Microsoft SQL Server データベースでディスク I/O の競合を減らすためのヒントを紹介します。下記の SQL Server の説明で言及する tempdb やファイル グループといった概念については、SQL Server Books Online をご参照ください。
- データ ファイルに大きな初期サイズを設定した後、SQL Server Management Studio を使用して、データベース ファイルとトランザクション ログ ファイルの自動拡張オプションの値を引き上げます。(自動拡張オプションの値を引き上げる前に、最初のバックアップを実行してください)。
- サーバでページングが発生しないという確証がなければ、すべてのデータ ファイル、トランザクション ログ ファイル、tempdb を、ページング ファイルとは別の場所に格納します。データ ファイルは、トランザクション ログ ファイル および tempdb とは別の場所に配置します。メモ:
データの分離(テーブルとインデックスを分ける、特定のテーブルを他のテーブルと分ける)を検討するのは、それによってパフォーマンスが向上するか、管理作業が軽減されるという確信がある場合にのみ実施します。
- AUTO_CREATE_STATISTICSとAUTO_UPDATE_STATISTICS データベース オプションは有効なままにします。AUTOSHRINK と AUTOCLOSE は無効にします。
- ハードウェアのストライプ化を導入して、ファイル グループやファイルの代わりに RAID を使用します。
- ネットワーク パケットのサイズを増やします。
ArcSDE for Microsoft SQL Server は、ジオメトリをフィーチャ テーブルの varbinary(max) データ型の列に格納します。varbinary(max) データ列は、複数のジオデータベース ネットワーク テーブルで使用されます。Microsoft では、varbinary(max) データ列を使用する際、ネットワーク パケットのサイズを増やすことを推奨しています。ネットワーク パケットのサイズは、アプリケーションとリレーショナル データベース エンジン間の通信で使用される TDS(Tabular Data Scheme)パケットのサイズです。デフォルトのパケット サイズは 4KB で、ネットワーク パケット サイズの設定オプションで制御することができます。
ArcSDE のデフォルト設定では、SQL Server のデフォルト設定(4,096KB)の倍のサイズ(8,192KB)に設定されています。また、sp_configure ステートメントのネットワーク パケット サイズ設定を使用して、これを SQL Server インスタンスのグローバル設定にすることもできます。
sp_configure 'show advanced options',1 reconfigure with override GO sp_configure 'network packet size',8192 reconfigure with override GO