Chapter 18. Configuring the IO Subsystem
18.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:2.0"> <worker name="default"/> <buffer-pool name="default"/> </subsystem>
18.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.
18.3. Configuring a Buffer Pool
Buffer Pools are pooled NIO buffer instances.
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.
18.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.