- - PR -
DB2 UDB db2pfchr
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-11-19 15:09
はじめまして
kimiと申します。 【環境】 OS:AIX5L RDB:DB2 v8.1 FP5 【問題】 OSコマンドでプロセスを確認すると、多くのバッファー・プール・プリフェッチャー(db2pfchr)が存在しています。 これは1つのバッファーに処理が集中している為、ディスクからの読み込みが頻繁に発生している為に起こっている現象だと考えます。 このときの影響はパフォーマンス以外にどんな影響をもたらすのでしょうか? また、他に問題がありそうならば教えて下さい。 【対応】 バッファープールを細分化し、バッファーに対するI/Oを軽減するしか 対応は無いのでしょうか? 宜しくお願い致します。 |
|
投稿日時: 2004-11-24 16:14
はじめまして。
ishiと申します。 プリフェッチャーが多数存在しただけで問題と言うのは少し早いのではないかと思います。 なぜなら複数のディスクで構成されている表スペースの場合、複数のプリフェッチャーが同時に実行されるのは効率的だと思うからです。 また、なぜバッファープールを細分化しようとされているのでしょうか? 例えば、頻繁にアクセスされるある表をなるべくメモリ上に常駐させたいという意図でしょうか? もし何かパフォーマンス上の問題があるようであれば、例えば次のような問題なのではないでしょうか? ・意図したアクセスパスとは異なり、表スキャンが行われているため、大量のプリフェッチが行われている。 ・バッファープールが小さいため、バッファーヒット率が低い。 これらの調査にはデータベースsnapshotやdb2batchなどが役に立つと思います。 |
|
投稿日時: 2004-11-25 00:53
ishiさん
ご返答有難うございます。 質問内容が判りにくく申し訳ございません。 補足致します。 ・現状パフォーマンスに対してはあまり問題視されていません。 ・db2pfchrプロセスが100以上存在していた為、それが良いことなのか? という疑問から質問させていただきました。 引用: -------------------------------------------------------------------------------- 複数のディスクで構成されている表スペースの場合、複数のプリフェッチャーが同時に>実行されるのは効率的だと思うからです。 -------------------------------------------------------------------------------- 確かに複数のプリフェッチャーが同時に実行されることは効率は良いと思いますが、db2pfchrプロセスが100・200も存在する場合も同様でしょうか? 引用: -------------------------------------------------------------------------------- なぜバッファープールを細分化しようとされているのでしょうか? -------------------------------------------------------------------------------- ディスクから頻繁にdb2pfchrを用いてバッファーに対し読込を行っていると思い、 頻繁にアクセス表に対しバッファーを割り当てることにより読込回数を減らすことでdb2pfchrプロセスを削減できると考えたからです。 また、db2pfchrが多すぎることによりパフォーマンスに影響があると考えた理由は 1.バッファへの読込が多発することによるページクリーナーの頻度 2.ディスクI/O・ファイルシステムI/Oによるパフォーマンス劣化回避 宜しくお願い致します。 |
|
投稿日時: 2004-11-25 01:14
バッファプールをやたらと細かくすると、逆にメモリの使用効率が下がって問題だと思います。
処理の性質によりますが、特定のSQLのバッファプールヒット率を保証したい等の要件がなければ、推奨されていなかった筈。 で、DB CFGのNUM_IOSERVERSはどうなってますか。 http://www.atmarkit.co.jp/fdb/rensai/db2bestprac05/db2bestprac05_3.html |
1
