第 6 章 パフォーマンスのモニタリングとチューニング
バッファ・キャッシュの構造
Sybase IQ では、システム上の CPU の数に応じて、バッファ・キャッシュの キャッシュ・パーティションの数が自動的に計算されます。マルチ CPU 構成 で ロ ー ド ま た は ク エ リ の パ フ ォ ー マ ン ス が 予 想 よ り 悪 い 場 合 は、 CACHE_PARTITIONS データベース・オプションの値を変更するとパフォーマ ンスが向上することがあります。詳細については、『Sybase IQ リファレンス・ マニュアル』の「CACHE_PARTITIONS オプション」を参照してください。
バッファは、キャッシュの LRU (Least Recently Used) 側の終端に近づくと、 ウォッシュ・マーカを越えます。Sybase IQ は最も古いページ ( ウォッシュ・ マーカを越えたページ ) をディスクに書き出して、そのページが占有していた キャッシュ領域を再利用できるようにします。スイーパ・スレッドと呼ばれる Sybase IQ 処理スレッドのチームが、最も古いバッファを一掃し(書き出し) ます。
データのページをキャッシュに読み込む必要がある場合、Sybase IQ は LRU バッファを取り込みます。バッファがまだ「ダーティな」( 変更された ) 状態 の場合は、先にバッファをディスクに書き込む必要があります。モニタ
通常、Sybase IQ では [Gdirty] の値が 0 に維持されます。この値が 0 より大 きい状態が長時間続く場合は、スイーパ・スレッドの数とウォッシュ・マー カを制御するデータベース・オプションを調整する必要があります。詳細 については、『Sybase IQ リファレンス・マニュアル』の「第 2 章 データベー ス・オプション」の「SWEEPER_THREADS_PERCENT オプション」または 「WASH_AREA_BUFFERS_PERCENT オプション」を参照してください。
バッファ・マネージャのスラッシングの回避
オペレーティング・システムによるページングは、使用可能な空きメモリを超え るバッファを必要とするクエリに影響します。特に、バッファ・キャッシュにさ らに多くの物理メモリを割り付けようとすると、ページングが少々必要です。た だし、物理メモリをバッファ・キャッシュに過度に割り付けると、オペレーティ ング・システムによるページングの発生頻度が高くなり、システム全体がスラッ シングする原因となることがあります。逆に、バッファ・キャッシュに十分なメ モリを割り付けないと、Sybase IQ がスラッシングしてしまいます。
オペレーティング・システムがディスクにページ・アウトする最適バッファの 量を減らした場合、バッファ・マネージャはこれらのバッファをメモリに戻す ためにディスクから余分に読み込みを行わなければならないため、バッファ・ マネージャのスラッシングが発生します。Sybase IQ では、ディスクにフラッ シュするための最適なバッファを把握しているため、ページ・アウトの全体の 数を減らすことによって、このようなオペレーティング・システムによる干渉 を回避できます。
パフォーマンス&チューニング・ガイド | 169 |