Liberty プロファイルの調整
Liberty プロファイルのパラメーターおよび属性を調整することができます。
このタスクについて
手順
- JVM を調整します。 開発環境を構成する場合でも、実稼働環境を構成する場合でも、JVM の調整は非常に重要な調整ステップです。 Liberty プロファイルの JVM を調整する場合は、${server.config.dir} ディレクトリーの jvm.options ファイルを使用します。使用する各 JVM 引数を 1 行に 1 つのオプションずつ指定できます。 詳細については、『Liberty プロファイル環境のカスタマイズ』を参照してください。jvm.options ファイルの例は以下のとおりです。
-Xms50m -Xmx256m
開発環境では、サーバーの始動を速くしたいことがあるため、最小ヒープ・サイズを小さい値に設定して、 最大ヒープ・サイズをアプリケーションに必要な値に設定することを検討します。 実稼働環境では、最小ヒープ・サイズと最大ヒープ・サイズを同じ値に設定すると、ヒープの拡張や縮小を回避することで、最適なパフォーマンスが実現される可能性があります。
- トランスポート・チャネル・サービスを調整します。 トランスポート・チャネル・サービスは、クライアント接続、HTTP の入出力処理、スレッド・プール、および接続プールを管理します。 Liberty プロファイルのアプリケーションには、さまざまなエレメントの次の属性を使用して、 ランタイム・パフォーマンスまたはスケーラビリティー、あるいはその両方を向上させることができます。 これらの各属性については、『server.xml ファイルの構成エレメント』を参照してください。
- httpOptions の maxKeepAliveRequests
- このオプションでは、パーシスタント接続が使用可能の場合に、単一の HTTP 接続で許可されるパーシスタント要求の最大数を指定します。
値が -1 の場合、無制限であることを示します。この
オプションは、待ち時間の少ないアプリケーションやスループットの高いアプリケーション、および、
新規接続の構築にコストがかかる状況で使用する SSL 接続を
サポートします。以下の例は、server.xml ファイル内でのこのオプションのコーディング方法を示します。
<httpOptions maxKeepAliveRequests="-1" />
- connectionManager の maxPoolSize
- このオプションでは、接続プールの物理接続の最大数を指定します。
デフォルト値は 50 です。ここでの最適な設定は、アプリケーションの特性によって異なります。
すべてのスレッドがデータベースへの接続を取得するアプリケーションでは、
coreThreads 属性に対して 1:1 のマッピングで開始する場合があります。
以下の例は、server.xml ファイル内でのこのオプションのコーディング方法を示します。
<connectionManager ... maxPoolSize="40" />
- connectionManager の purgePolicy
- このオプションでは、失効した接続がプールで検出された場合にどの接続を破棄するかを指定します。
デフォルト値は、プール全体です。
障害がある接続のみをパージするほうが適切な場合があります。以下の例は、server.xml ファイル内でのこのオプションのコーディング方法を示します。
<connectionManager ... purgePolicy="FailingConnectionOnly" />
- connectionManager の numConnectionsPerThreadLocal
- このオプションでは、各 executor スレッドごとにキャッシュに入れるデータベース接続の数を指定します。 この設定では、各スレッドごとに指定数のデータベース接続を予約することで、大規模なマルチ・コア (8+) マシンで大幅な改善を図ることができます。
- スレッド・ローカル・ストレージを接続に使用すると、マルチスレッドのシステムでアプリケーションのパフォーマンスを向上させることができます。
numConnectionsPerThreadLocal を 1 以上に設定すると、
スレッドごとにこれらの接続が、スレッド・ローカル・ストレージに格納されます。
numConnectionsPerThreadLocal を使用する際には、以下の他の 2 つの値を検討してください。
- アプリケーション・スレッドの数
- 接続プールの最大接続数
<connectionManager ... numConnectionsPerThreadLocal="1" />
- dataSource の statementCacheSize
- このオプションでは、接続当たりのキャッシュに入れる準備済みステートメントの最大数を指定します。
このオプションを設定するには、次の前提条件を完了しておきます。
- すべての固有の準備済みステートメントについて、アプリケーション・コード (あるいは、データベースまたはデータベース・ドライバーから収集した SQL トレース) を確認します。
- キャッシュ・サイズがステートメントの数より大きいことを確認します。
<dataSource ... statementCacheSize="60" >
- dataSource の isolationLevel
- データ・ソースの分離レベルでは、データ保全性と並行性の度合いを指定します。これにより、データベース・ロックのレベルが制御されることになります。
パフォーマンスが最も良い (保全性が最も低い) ものからパフォーマンスが最も悪い (保全性が最も高い) ものへの順序で、以下の 4 つのオプションがあります。
- TRANSACTION_READ_UNCOMMITTED
- ダーティー読み取り、反復不能読み取り、および幻像読み取りが発生する可能性があります。
- TRANSACTION_READ_COMMITTED
- ダーティー読み取りは防止されます。反復不能読み取りと幻像読み取りは発生する可能性があります。
- TRANSACTION_REPEATABLE_READ
- ダーティー読み取りと反復不能読み取りは防止されます。幻像読み取りは発生する可能性があります。
- TRANSACTION_SERIALIZABLE
- ダーティー読み取り、反復不能読み取り、および幻像読み取りは防止されます。
<dataSource ... isolationLevel="TRANSACTION_READ_COMMITTED">
- サーブレットの応答時間を減らします。
サーブレットの応答時間を減らすには、以下の属性を server.xml ファイルに追加します。
<webContainer skipMetaInfResourcesProcessing="true"/>
- アイドル状態のサーバー CPU 時間を削減します。
アイドル状態のサーバー CPU 時間を削減するには、以下の属性を server.xml ファイルに追加します。
<applicationMonitor dropinsEnabled="false" updateTrigger="disabled"/> <config updateTrigger="disabled"/>
この属性を追加すると、サーバーは構成またはアプリケーションの更新をモニターしなくなります。
構成エレメントの説明について詳しくは、server.xml ファイルの構成エレメントを参照してください。
サブトピック
- セキュア・アプリケーションのための Liberty プロファイルの調整
セキュア・アプリケーションのパフォーマンスを 最大化するため、Liberty プロファイルを調整することができます。 Liberty プロファイルでの統合 LDAP リポジトリーの調整
server.xml ファイル内のキャッシュ・エレメントやコンテキスト・プール・エレメントをモニターおよび調整することで、統合 LDAP リポジトリーのパフォーマンスを改善できます。

インフォメーション・センターに関するご使用条件 | フィードバック

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_tun
ファイル名: twlp_tun.html