第18章 IO サブシステムの設定

18.1. IO サブシステムの概要

io サブシステムは、Undertow や Remoting などの他のサブシステムによって使用される XNIO ワーカーバッファープール を定義します。これらのワーカーやバッファープールは、io サブシステムの以下のコンポーネント内で定義されます。

IO サブシステムのデフォルト設定

<subsystem xmlns="urn:jboss:domain:io:2.0">
    <worker name="default"/>
    <buffer-pool name="default"/>
</subsystem>

18.2. ワーカーの設定

ワーカーは XNIO ワーカーインスタンスです。XNIO ワーカーインスタンスは、IO およびワーカースレッドの管理や SSL サポートなどの機能を提供する Java NIO API の抽象化レイヤーです。JBoss EAP はデフォルトで default という単一のワーカーを提供しますが、複数のワーカーを定義できます。

既存のワーカーの更新

既存のワーカーを更新するには、以下を指定します。

/subsystem=io/worker=default:write-attribute(name=io-threads,value=10)
reload

新規ワーカーの作成

新規ワーカーを作成するには、以下を指定します。

/subsystem=io/worker=newWorker:add

ワーカーの削除

ワーカーを削除するには、以下を指定します。

/subsystem=io/worker=newWorker:remove
reload

ワーカーの設定に使用できる属性の完全リストは「IO サブシステムの属性」の項を参照してください。

18.3. バッファープールの設定

バッファープールはプールされた NIO バッファーインスタンスです。

重要

バッファーサイズの変更はアプリケーションのパフォーマンスに大きく影響します。通常、ほとんどのサーバーでは 16 K が理想のサイズになります。

既存のバッファープールの更新

既存のバッファープールを更新するには、以下を指定します。

/subsystem=io/buffer-pool=default:write-attribute(name=direct-buffers,value=true)
reload

バッファープールの作成

新しいバッファープールを作成するには、以下を指定します。

/subsystem=io/buffer-pool=newBuffer:add

バッファープールの削除

バッファープールを削除するには、以下を指定します。

/subsystem=io/buffer-pool=newBuffer:remove
reload

バッファープールの設定に使用できる属性の完全リストは「IO サブシステムの属性」の項を参照してください。

18.4. IO サブシステムの調整

io サブシステムのパフォーマンスを監視および最適化するための情報は、『Performance Tuning Guide』の「IO Subsystem Tuning」の項を参照してください。