|
以下の節では、SIP 対応ロード バランサでパフォーマンスを向上させるために、エンジン層キャッシュを有効化する方法を説明します。
「Oracle Communications Converged Application Server アーキテクチャの概要」で説明したように、デフォルトの Oracle Communications Converged Application Server コンフィグレーションでは、エンジン層クラスタはステートレスです。独立した SIP データ層クラスタが 1 つまたは複数のパーティションで呼状態データを管理します。また、エンジン層サーバは必要に応じて SIP データ層にデータを取得し、書き込みます。エンジンは各パーティションにある複数のレプリカに呼状態データを書き込んで、SIP データ層レプリカがオフラインになった場合に自動フェイルオーバを提供することができます。
Oracle Communications Converged Application Server は呼状態データの一部をローカルにキャッシュするオプションをエンジン層サーバに提供し、これを SIP データ層内でも行います。ローカル キャッシュを使用すると、エンジン層サーバは最初に既存の呼び出し状態データのローカル キャッシュをチェックします。キャッシュに必要なデータが含まれており、かつデータのローカルコピーが (SIP データ層コピーと比較して) 最新データの場合、エンジンは SIP データ層の呼び出し状態 をロックしますが、直接キャッシュから読み込みます。エンジンは SIP データ層サーバから呼状態データを取り込む必要がないので、リクエストへの応答時間のパフォーマンスが改善されます。
エンジン層キャッシュは、常に最後にエンジン層サーバで使用された呼状態データのみ格納します。クライアントのリクエストに応答するため、または期限切れデータをリフレッシュするために、必要に応じて呼状態データをエンジンのローカル キャッシュに移動します。キャッシュに新しい呼状態を書き込む際にキャッシュがいっぱいだと、アクセスされた順番が古い順に呼状態エントリから削除されます。エンジン層キャッシュのサイズはコンフィグレーション不可です。
SIP 対応ロード バランサがエンジン層クラスタにリクエストを管理する場合は、ローカル キャッシュの使用が最も有利です。SIP 対応ロード バランサでは、確立された呼に対するリクエストはすべて同じエンジン層サーバに転送され、キャッシュの有効性を改善します。同じ呼に次のリクエストが (様々なキャッシュ コンテンツを持つ) 別のエンジン層サーバから分散されるため、SIP 対応ロード バランサを使用しないとキャッシュの有効性が限定されます。
デフォルトでは、エンジン層キャッシングは有効になっています。エンジン層で呼状態データの部分的キャッシングを無効にするため、sipserver.xml : の engine-call-state-cache-enabled 要素を指定します。
<engine-call-state-cache-enabled>false</engine-call-state-cache-enabled>
使用可能になると、キャッシュ サイズは呼状態 250 回で固定されます。エンジン層キャッシュのサイズはコンフィグレーション不可です。
SipPerformanceRuntime エンジン層キャッシュの動作をモニタします。表 6-1 では MBean 属性を説明します。
使用可能になると、キャッシュ サイズは呼状態 250 回で固定されます。キャッチはメモリを消費するので、パフォーマンスの目的を達成するためには、エンジン層サーバの実行に使用する JVM 設定を変更する必要があります。キャッシュされた呼状態は、ガベージ コレクションの永続的な格納場所で維持されます。キャッシュが使用可能 (例えば、-XX:MaxNewSize=32m -XX:NewSize=32m) な場合、固定値「NewSize」を削減します。実際の価は、アプリケーションで使用された呼状態サイズだけでなく、アプリケーション自体のサイズにもよります。
|