ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server パフォーマンス チューニング ガイド
11g リリース 1 (10.3.1)
B55570-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

7 WebLogic 永続ストアのチューニング

以下の節では、永続ストアをチューニングする方法について説明します。永続ストアは、永続性が必要な WebLogic Server のサブシステムおよびサービスに高性能な組み込みストレージ ソリューションを提供します。

永続ストアの概要

以下の節では、永続ストアの使い方について説明します。

デフォルト永続ストアの使い方

管理サーバを含め、すべてのサーバ インスタンスには、コンフィグレーションが不要なデフォルトの永続ストアがあります。デフォルト ストアはファイルベースのストアで、サーバ インスタンスの data\store\default ディレクトリに格納された一連のファイルにデータを保持します。デフォルト ストア用のディレクトリは、存在しない場合には自動的に作成されます。このデフォルト ストアは、特定のストアを明示的に選択する必要がなく、システムのデフォルトのストレージ メカニズムを使用することで最適に動作するサブシステムから使用することができます。たとえば、永続ストアがコンフィグレーションされていない JMS サーバは、管理対象サーバ用のデフォルトのストアを使用して永続メッセージングをサポートします。以下を参照してください。

カスタム ファイル ストアと JDBC ストアの使い方

デフォルトのファイル ストアを使用するだけでなく、特定のニーズに合わせてファイル ストアや JDBC ストアをコンフィグレーションすることもできます。デフォルト ファイル ストアと同様、カスタム ファイル ストアもディレクトリに格納された一連のファイルにデータを保持します。一方、特定のストレージ デバイスにデータを保持するカスタム ファイル ストアを作成することもできます。ファイル ストアのディレクトリをコンフィグレーションする場合は、そのファイル ストアが配置されているサーバ インスタンスにアクセスできるディレクトリを設定する必要があります。

JDBC ストアは、リレーショナル データベースをストレージとして使用している場合にコンフィグレーションできます。JDBC ストアを使用することで、指定の JDBC データ ストアを介してアクセスできる標準の JDBC 対応データベースに永続メッセージを格納できます。JDBC ストアのデータベース テーブルに格納されたデータには、WLStore という論理名が付けられます。データベースの高可用性とパフォーマンスをコンフィグレーションするかどうかは、データベース管理者の判断です。以下を参照してください。

JMS ページング ストアの使い方

各 JMS サーバではファイル ベースのページング ストアが暗黙的に作成されます。このストアは、WebLogic Server JVM が低メモリ状態で動作しているときに、非永続性メッセージおよび JDBC ストアの永続メッセージのページングに使用されます。ページング ストアを使用すると、アプリケーションによってはディスクのアクティビティが増大することがあります。


注意 :

ファイル ストアの永続メッセージはページング ストアを使用してページングされません。各自のファイル ストアに対して直接的にページングされます。

通常であれば JMS ページング ストアをチューニングする必要はありませんが、必要な場合には、ディレクトリの場所やページングを開始するしきい値設定を変更できます。「順序単位を使用したアプリケーションのチューニング」を参照してください。

永続ストア使用時のベスト プラクティス

JDBC ストアのチューニング

空のストアの初期化に使用する JDBC ストアの DDL の場所が、コンフィグレーション可能になりました。これにより、データベース テーブルを作成するためのカスタム DDL を簡単に使用できるようになっています。この DDL はデータベースの特定のパフォーマンス チューニングに使用されることもあります。詳細については、Oracle Fusion Middleware Oracle WebLogic Server の Administration Console オンライン ヘルプの「JDBC ストアの作成および『Oracle Fusion Middleware Oracle WebLogic Server サーバ環境のコンフィグレーション』の「WebLogic 永続ストアの使い方を参照してください。

ファイル ストアのチューニング

この節では、ファイル ストアのチューニングについて説明します。

ファイル ストア ブロック サイズのチューニング

特に、ハード ディスク ベースの書き戻しキャッシュを使用していて、物理ストレージのレイテンシによってパフォーマンスが制限されている場合、同期書き込みポリシーの [Direct-Write](デフォルト) または [Cache-Flush] がコンフィグレーションされているファイル ストアでは、ファイル ストア ブロック サイズのチューニングが必要になる場合があります。

次のケースについて検討します。

  • 単一の WebLogic JMS プロデューサは永続メッセージを 1 つずつ送信する。

  • ネットワークのオーバーヘッドは、ごくわずかであることが分かっている。

  • ファイル ストアのディスク ドライブの回転速度は 10,000 rpm。

  • ディスク ドライブはバッテリー バックアップのある書き戻しキャッシュを備えている。

また、メッセージ レートは 1 秒間に 166 メッセージと測定されています。

このケースでは、バッテリー バックアップのある書き戻しキャッシュによって高いメッセージ レートが可能なように思われますが、実際のレートは低く、ディスク ドライブのレイテンシ (10,000 rpm/60 秒、つまり 166 rps) と同じ数値になります。ストアのブロック サイズをファイル システムのブロック サイズと一致するようチューニングすることで、大幅な改善が可能です。

以下のようなケースでは、ブロック サイズをチューニングしても全く改善が見られなかったり、改善したとしても不十分であったりする可能性があります。

  • キャッシュによってレイテンシが小さくなっている (つまり、I/O サブシステムは重大なボトルネックではない)。

  • 書き戻しキャッシュが使用されておらず、ディスク ドライブのレイテンシが大きいため、パフォーマンスが制限されている。

使用しているブロック サイズが大きい場合は、パフォーマンスとファイル スペースの間にトレード オフが存在する可能性があります。複数のアプリケーション レコードは、同時に書き込まれた場合にのみ、単一のブロックにまとめられます。そのためブロック サイズを大きくすると、サーバ アクティビティが同時に実行されることがほとんどなく、小さいレコードしか生成されないアプリケーションの場合、ストア ファイルのサイズが大幅に増大することになります。この場合、小さいレコードがブロックごとに 1 つずつ格納され、各ブロックの残りのスペースは使用されません。例として、100 バイト長の小さなメッセージを送信する単一のプロデューサを含む、Web Service Reliable Messaging (WS-RM) アプリケーションが挙げられます。ここでは、ストアを使用するのはアプリケーションだけです。

パフォーマンスが向上する場合は、ファイル ストア ブロック サイズをチューニングして、ファイル ストアをホストするファイル システムのブロック サイズ (通常は 4096) と一致させることをお勧めします。または、ブロック サイズを別の値 (ページング ユニットやキャッシュ ユニットなど) にチューニングしてもパフォーマンスが向上することもあります。ブロック サイズをチューニングしてもパフォーマンスが向上しない場合は、デフォルトのブロック サイズを使用することをお勧めします。デフォルトのサイズを使用すると、ファイル システム リソースの使用が最小限に抑えられるためです。

ファイル ストアのブロック サイズの設定

ストアのブロック サイズを設定するには、以下のプロパティのうちのいずれかを、ストアを実行する JVM のコマンドラインで使用します。

  • -Dweblogic.store.BlockSize=<block-size>

    既存のファイルを持たないファイル ストアすべてのブロック サイズを設定します。

  • -Dweblogic.store.<store-name>.BlockSize=<block-size>

    既存のファイルを持たないファイル ストアのうち、特定のストアのブロック サイズを設定します。

両方を設定した場合は、<store-name> 設定が優先されます。ブロック サイズの設定に使用できる値は、512 ~ 8192 までの整数です。値は自動的に、512 の倍数に最も近い数に切り上げられます。


注意 :

コマンドライン プロパティを使用したブロック サイズの設定は、既存のファイルを持たないファイル ストアでのみ可能です。ストアに既存のファイルが存在する場合は、ストアの最初の作成時に設定されたブロック サイズがそのまま使用されます。

ファイル ストア ブロック サイズの確認

ファイル ストアの現在のブロック サイズおよび同期書き込みポリシーは、ストアをホストするサーバのサーバ ログで確認することができます。「永続ストアが開きました」といった内容が表示されている BEA-280050 メッセージを検索してください。

ファイル システム ブロック サイズの確認

ファイル システムの現在のブロック サイズを確認するには、使用しているオペレーティング システムのドキュメントを参照してください。次に例を示します。

  • Linux ext2 および ext3 ファイル システムの場合 : /sbin/dumpe2fs /dev/<device-name> を実行し、「Block size」を検索する。

  • Windows NTFS の場合 : fsutil fsinfo ntfsinfo <device letter>: を実行し、「Bytes Per Cluster」を検索する。

既存のファイルが存在するストアの変換

ストアの既存のファイルのデータを保持する必要がない場合は、ホストの WebLogic Server インスタンスを停止してファイルを削除すれば、ストアを再起動した際にブロック サイズを変更できます。データを保持する必要がある場合は、新しいブロック サイズを指定したファイル ストアを作成して、既存のファイルが存在するストアのブロック サイズを変換します。その際は、コマンドライン ストア管理ユーティリティの compact コマンドを使用します。

  1. java -Dweblogic.store.BlockSize=<new-block-size> weblogic.store.Admin

  2. help と入力して、使用可能なコマンドを確認します。

  3. Storeadmin->compact -dir <file-store-directory>

『Oracle Fusion Middleware Oracle WebLogic Server サーバ環境のコンフィグレーション』の「Java コマンドラインを使用したストア管理」を参照してください。