第 10 章 IO 子系统调整
The io
子系统定义供其他 JBoss EAP 子系统使用的 XNIO 工作程序和缓冲区池,如 Undertow 和远程。
10.1. 配置工作程序
您可以创建多个单独的工作程序,每个工作程序都有各自的性能配置,并且可以处理不同的 I/O 任务。例如,您可以创建一个 worker 来处理 HTTP I/O,另一个工作程序用于处理 EJB I/O,然后根据特定的负载要求单独配置每个 worker 的属性。
有关可配置 worker 属性列表,请参阅 IO 子系统属性附录。
严重影响性能的 worker 属性包括 io-threads
,用于设置 worker 可以使用的 I/O 线程总数,以及设置特定任务可以使用的最多线程数量的 task-max-threads
。这两个属性的默认值根据服务器的 CPU 数计算。
有关如何创建和配置工作程序的说明,请参阅 JBoss EAP 配置指南。
10.1.1. 监控工作程序统计信息
您可以使用管理 CLI 查看 worker 的运行时统计信息。这会公开 worker 统计信息,如连接数、线程数和队列大小。
以下命令显示 默认
worker 的运行时统计信息:
/subsystem=io/worker=default:read-resource(include-runtime=true,recursive=true)
/subsystem=io/worker=default:read-resource(include-runtime=true,recursive=true)
按照 core-pool-size
统计数据跟踪的核心线程数量目前始终设置为与最大线程数相同的值,该值由 max-pool-size
统计数据进行跟踪。