Chapter 19. Configuring the IO Subsystem

19.1. IO Subsystem Overview

The io subsystem defines the XNIO workers and buffer pools used by other subsystems, such as Undertow and Remoting. These workers and buffer pools are defined within the following components in the io subsystem:

Default IO Subsystem Configuration

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

19.2. Configuring a Worker

Workers are XNIO worker instances. An XNIO worker instance is an abstraction layer for the Java NIO APIs, which provide functionality such as management of IO and worker threads as well as SSL support. By default, JBoss EAP provides single worker called default, but more can be defined.

Updating an Existing Worker

To update an existing worker:

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

Creating a New Worker

To create a new worker:

/subsystem=io/worker=newWorker:add

Deleting a Worker

To delete a worker:

/subsystem=io/worker=newWorker:remove
reload

For a full list of the attributes available for configuring workers, please see the IO Subsystem Attributes section.

19.3. Configuring a Buffer Pool

Buffer Pools are pooled NIO buffer instances.

Important

Changing the buffer size has a big impact on application performance. For most servers, the ideal size is usually 16k.

Updating an Existing Buffer Pool

To update an existing buffer pool:

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

Creating a Buffer Pool

To create a new buffer pool:

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

Deleting a Buffer Pool

To delete a buffer pool:

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

For a full list of the attributes available for configuring buffer pools, please see the IO Subsystem Attributes section.