この付録の目的は、アプリケーションで必要とされるキャッシュ・サーバーの台数の見積りを支援することです。記載されている式は、合理的な見積りの算出にのみ役立つことに注意してください。キャッシュ索引、キャッシュ・サーバー・ヒープに常駐する場合がある非アプリケーション・オブジェクト、フェイルオーバー・ヘッドルームなどの影響は考慮されていません。
必要となるキャッシュ・サーバーの台数を算出するには、最初にアプリケーションのヒープ要件とキャッシュ・サーバーの使用可能な確保領域を計算する必要があります。
アプリケーションの合計ヒープ要件を計算します。
アプリケーションに必要なキャッシュ・サーバーの台数を調査する場合、最初にアプリケーションの合計ヒープ要件を調査します。合計ヒープ要件は、実行予定のセッションの数に、セッションごとにキャッシュされるオブジェクトの平均数を乗算してから、キャッシュされるオブジェクトごとの平均バイト数を乗算して計算できます。通常、キャッシュ・エントリごとにバックアップ・コピーを1つ作成するため、合計に2を乗算します。
式として表すと、次のようになります。
Total_Heap_Requirement = 2 * (Number_of_Sessions) * (Average_Number_of_Cached_Objects per Session) * (Average_Number_of_Bytes per Cached_Object)
Total_Heap_Requirement
の単位はバイトです。Average_Number_of_Bytes per Cached_Object
は、プライマリ・コピーのシリアライズしたバイト・ストリームのバイト数を意味します。この式は、シリアライズされていないオブジェクト・サイズには対応していません。バックアップ・コピーに必要な領域は別に計算されます。
キャッシュ・サーバーJVMで使用可能な確保領域を計算します。
使用可能な確保領域は、最大ヒープ・サイズ割当てと他のユーザー指定のJVMヒープ・サイズ設定パラメータによって変わります。使用可能な確保領域のもう1つの係数は、記憶域に使用可能なヒープの比率です。記憶域に使用可能なヒープの最大比率として66%が目安として使用されますが、システムによってはこの数値が低すぎる場合もあります。これを次のように変数にします。
Percent_of_Heap_Available_for_Storage = 0.66 Available_Tenured_Generation = (Maximum_Heap_Size) * (Percent_of_Heap_Available_for_Storage)
必要なキャッシュ・サーバーの台数を計算します。
必要なキャッシュ・サーバーの台数を計算するには、使用可能な確保領域で合計ヒープ要件を除算します。
Number_of_Cache_Servers = (Total_Heap_Requirement / Available_Tenured_Generation)