I/Oパフォーマンスを向上させるには
出典: DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#チューニング編】 【DB2逆引きリファレンス目次#様々な最適化パラメータ】
目次 |
前提
- 以下のいずれかが必要: SYSADM権限
解説
I/Oパフォーマンスに関連するデータベース構成パラメータには以下のものがあります。
- NUM_IOSREVERS
- プリフェッチ時にディスク上のデータを読み込みむためのプロセスの個数を指定します。 通常は物理ディスクの個数+2の値を指定します。
- NUM_IOCLEANERS
- バッファプール上のデータをディスクに書き出すためのプロセスの個数を指定します。 通常は物理ディスクの個数と同じ値を設定します。
- LOGBUFSZ
- ログバッファのサイズを指定します。 平均的に実行されるトランザクションの長さに対してログバッファが小さい場合、本来はコミット時のにみ必要なログの書き出しが不必要に行われる可能性があります。 データベースのスナップショットをとることでログの書き出しの頻度を確認することができます。
- DB2_PARALLEL_IO
- ひとつのコンテナーに対して並列I/Oを使用可能にします。 この機能を利用する表スペースの番号をカンマで区切って指定します。 *を指定すると、すべての表スペースを指定したことと同じ意味になります。
使用例
データベース(ここではsample)用に非RAID構成のディスクを5つ利用する場合。
$ db2 UPDATE DB CFG FOR sample USING NUM_IOSERVERS 7 NUM_IOCLEANERS 5↓
データベース(ここではsample)用にRAID構成のディスク(ここで各ディスクは4つの物理ディスクでストライピング)を5つ利用する場合。
$ db2 UPDATE DB CFG FOR sample USING NUM_IOSERVERS 22 NUM_IOCLEANERS 20↓ $ db2set DB2_PARALLEL_IO *
注意
- I/Oパフォーマンスを最大限に発揮するには、物理ディスクの配置や表へのアクセス特性を考慮した物理設計が不可欠です。
