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:3.0">
    <worker name="default"/>
    <buffer-pool name="default"/>

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:


Creating a New Worker

To create a new worker:


Deleting a Worker

To delete a worker:


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

19.3. Configuring a Buffer Pool


IO buffer pools are deprecated, but they are still set as the default in the current release. Buffer pools are pooled NIO buffer instances. Changing the buffer size has a big impact on application performance. For most servers, the ideal buffer size is usually 16k. For more information about configuring Undertow byte buffer pools, see the Configuring Byte Buffer Pools section of the Configuration Guide for JBoss EAP.

Updating an Existing Buffer Pool

To update an existing buffer pool:


Creating a Buffer Pool

To create a new buffer pool:


Deleting a Buffer Pool

To delete a buffer pool:


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

19.4. Tuning the IO Subsystem

For tips on monitoring and optimizing performance for the io subsystem, see the IO Subsystem Tuning section of the Performance Tuning Guide.