第9章 Undertow サブシステムの調整

JBoss EAP 7 で導入された非ブロッキング I/O (NIO) undertow サブシステムは、JBoss EAP 6 の web サブシステムよりも大幅にパフォーマンスが改善されました。ご使用の環境に合わせて undertow サブシステムを調整する機会は次のとおりです。

9.1. バッファーキャッシュ設定

バッファーキャッシュは、undertow サブシステムによって処理される静的ファイルを格納します。これには、イメージ、静的 HTML、CSS、および JavaScript ファイルが含まれます。各 Undertow サーブレットコンテナーにデフォルトのバッファーキャッシュを指定できます。サーブレットコンテナーのバッファーキャッシュを最適化すると、静的ファイルに対する Undertow のパフォーマンスを向上できます。

バッファーキャッシュのバッファーは固定のサイズで、リージョンに割り当てられます。各バッファーキャッシュには設定可能な属性が 3 つあります。

buffer-size
各バッファーのバイト単位のサイズ。デフォルトは 1024 バイトです。最大の静的ファイルを完全に保存するようにバッファーサイズを設定します。
buffers-per-region
リージョンごとのバッファー数。デフォルトは 1024 です。
max-regions
バッファーキャッシュに割り当てられるメモリーの最大容量を設定する、リージョンの最大数。デフォルトは 10 リージョンです。

バッファーキャッシュによって使用されるメモリーの最大容量を算出するには、バッファーサイズ、リージョンごとのバッファー数、およびリージョンの最大数を掛けます。たとえばすべてがデフォルト値である場合、1024 (バイト単位のバッファーキャッシュ) * 1024 (リージョンごとのバッファー数) * 10 (リージョン数) = 10 MB になります。

バッファーキャッシュは、静的ファイルのサイズと、開発環境での想定負荷のテスト結果を基にして設定します。パフォーマンスの影響を判断するとき、バッファーキャッシュのパフォーマンスと、使用されるメモリーのバランスを考慮してください。

関連情報

  • 管理 CLI を使用したバッファーキャッシュの設定手順は、JBoss EAP設定ガイドバッファーキャッシュの設定を参照してください。