sheapthres_shr - 共有ソートのソート・ヒープのしきい値構成パラメーター
このパラメーターは、ソート・ヒープに基づく操作で使用可能な共有ソート・メモリー予約合計量のソフト・リミットを表します。
- 構成タイプ
- データベース
- パラメーター・タイプ
- オンラインで構成可能 (データベース接続が必要)
- Db2® pureScale® 環境およびパーティション・データベース環境のメンバーにより構成可能。
- 伝搬クラス
- 即時
- デフォルト [範囲]
- 32 ビット・プラットフォーム
- 自動 [250 - 524 288]
- 64 ビット・プラットフォーム
- 自動 [250 - 2 147 483 647]
- 単位
- ページ (4 KB)
- AUTOMATIC
- AUTOMATIC 設定は、 sheapthres_shr パラメーターのセルフチューニングを有効にするために使用されます。これにより、STMM は、ワークロード要件の変更に応じて、使用可能な合計共有ソート・メモリーのサイズを動的に変更できます。 これは、デフォルトの 共有ソート・メモリー・モデル の下で、かつ
SELF_TUNING_MEM = ON
の場合にのみ有効です。 それ以外の場合は、基礎となる構成値に固定値が反映されます。sheapthres_shr パラメーターのセルフチューニングが使用可能な場合、基礎となる構成値を手動で更新しようとする試みは一時的なものになります。 設定は引き続き STMM によってチューニングされるからです。
sheapthres_shr パラメーターが固定値に設定されている場合、 sortheap 構成パラメーターのセルフチューニングを有効にすることは可能ですが、 sheapthres_shr パラメーターが AUTOMATICに設定されている場合、 sortheap を固定値に設定することはできません。 sheapthres_shr が AUTOMATIC に更新されると、sortheap パラメーターも AUTOMATIC 設定に更新されます。 sheapthres_shr パラメーターが AUTOMATIC に設定されているときに sortheap パラメーターを固定値に更新しようとすると、エラー・メッセージを出して失敗します。
AUTOMATIC に設定すると、STMM による sheapthres_shr のセルフチューニングが使用可能になり、他の構成要件も適用されます。 sheapthres_shr のセルフチューニングが行われるようにするには、以下の条件が当てはまる必要があります。- STMM は使用可能です (
SELF_TUNING_MEM=ON
)。 - 「共有ソート・メモリー・モデル」 が有効になっている (sheapthres が 0 に設定されている)。
- sortheap パラメーターが AUTOMATIC に設定されている。
DB2_WORKLOAD=analytics
が設定されていない。- パーティション・データベース環境の場合、データベースが明示的に活動化されている。
sort パラメーターのセルフチューニングは、カラム・オーガナイズ表にアクセスするワークロードではサポートされないため、DB2_WORKLOAD=ANALYTICS の場合は無効になります。 そのような場合は、sheapthres_shr パラメーターの値を AUTOMATIC ではなく固定値に設定してください。そうしないと、パフォーマンスが低下したり、メモリー不足の状態が発生したりする可能性があります。 DB2_WORKLOAD レジストリー変数の値が ANALYTICSに設定されている場合、 sheapthres_shr パラメーターを AUTOMATICに設定することはできず、 Db2 構成アドバイザーは sheapthres_shr パラメーターの固定値を自動的に構成します。
- STMM は使用可能です (
- ソート
- ハッシュ結合
- Index ANDing
- ブロック索引 ANDing
- メモリー内の表
- マージ結合
- スカラー集約
- Partial early distinct 操作および early aggregation 操作
- 表キュー
- ハッシュされた GROUP BY
- カラム・オーガナイズのデータ処理
sortheap パラメーター設定が操作ごとの最大メモリー使用量を制御するのに対し、sheapthres_shr パラメーター設定はメンバーごとの各データベースのメモリー・コンシューマーのソートに使用できるメモリー全体を制御します。 データベースでのすべてのアクティビティーによって要求される合計予約量が sheapthres_shr 値に近づくと、 sheapthres_shr パラメーターは、許可されるソート予約量を減らすことによって使用可能メモリー全体を制御します。 要求された予約量の合計が sheapthres_shr 値に達すると、最小予約量しか使用できなくなり、パフォーマンスが低下する可能性があります。 予約量の合計が sheapthres_shr 値の 1.25 倍に達すると、ソート・メモリーの要求は拒否される可能性があり、エラー (SQL0955C) がアプリケーションに返されます。
- 共有ソート・メモリー・モデルはデフォルトのモデルであり、sheapthres = 0 の場合に常に有効です。 sheapthres 設定は専用ソート・モデルのスロットルを制御します。 設定値が 0 の場合、専用ソート・メモリーが使用不可になります。 共有ソート・モデルでは、すべての sortheap 割り振りは、データベース共有メモリー (database_memory) の一部である共有ソート・ヒープ (sheapthres_shr) からのものです。 共有ソート・メモリー・モデルは、 sortheap および sheapthres_shr の STMM チューニングを行うことができる唯一のモデルです。
- 専用ソート・メモリー・モデル
- 専用ソート・メモリー・モデルは、sheapthres がゼロでない場合に常にアクティブになり、構成によって共有ソート・メモリーが使用可能になることもありません。 専用ソート・メモリー・モデルの下では、sortheap 割り振りは、専用メモリーからのみ割り振られます。 共有ソート・メモリーを明示的に要求する操作は無効であり、エラーを返します。 このモデルの下では、STMM ソート・チューニングは行われません。
- ハイブリッド・ソート・メモリー・モデル
- ハイブリッド・ソート・メモリー・モデルは sheapthres がゼロでない場合に常にアクティブになりますが、操作によっては構成によって共有ソート・メモリーが使用可能にされることもあります。 共有ソート・メモリーを必要としない操作は、専用メモリーから割り振られます。 このモデルの下では、STMM ソート・チューニングは行われません。
モニター
使用可能なモニター・エレメントは数多くあります。
- ACTIVE_SORTS
- TOTAL_SECTION_SORT_TIME
- TOTAL_SECTION_SORT_PROC_TIME
- TOTAL_SECTION_SORTS
- TOTAL_SORTS
- POST_THRESHOLD_SORTS (共有ソートの場合)
- POST_THRESHOLD_PEDS
- POST_THRESHOLD_PEAS
- POST_SHRTHRESHOLD_HASH_JOINS (共有ソートの場合)
- POST_THRESHOLD_HASH_GRPBYS
- POST_THRESHOLD_OLAP_FUNCS
- SORT_OVERFLOWS
- TQ_SORT_HEAP_REJECTIONS
- SORT_HEAP_ALLOCATED (共有ソート予約量)
- SORT_SHRHEAP_TOP (共有ソート予約の最高水準点)
SORT_HEAP_ALLOCATED および SORT_SHRHEAP_ALLOCATED モニター・エレメントは、実際に割り振られるメモリー量ではなく、予約要求量を反映します。 要求された予約量すべてを完全に割り振らないとしても、それは正常な操作です。
select SORT_SHRHEAP_ALLOCATED, SORT_SHRHEAP_TOP from table (MON_GET_DATABASE (null))
SORT_SHRHEAP_ALLOCATED SORT_SHRHEAP_TOP
---------------------- --------------------
128411 396405
select memory_pool_used, memory_pool_used_hwm
from table (mon_get_memory_pool(null,null,null))
where memory_pool_type='SHARED_SORT'
MEMORY_POOL_USED MEMORY_POOL_USED_HWM
----------------- --------------------
140574 140574
単一データベースで実行されるすべてのアプリケーションで、共有ソート・メモリー・プールは 1 つだけです。