9.4. 监听程序
根据您的应用和环境,您可以配置特定于特定类型流量的多个侦听器,例如:特定端口的流量,然后为每个监听器配置选项。
以下是可以在 HTTP、HTTPS 和 AJP 侦听器上配置的与性能相关的选项。
max-connections
侦听器可以处理的并发连接的最大数量。默认情况下,此属性未定义,这会导致连接无限制。
您可以使用这个选项设置监听器可以处理的连接数,这对于上限资源使用量可能很有用。在配置此值时,您应该考虑您的工作负载和流量类型。另请参见下面的
no-request-timeout
。no-request-timeout
连接在关闭前闲置的时间长度,以毫秒为单位。默认值为 60000 毫秒(1 分钟)。
在您的环境中调整此选项以提高连接效率有助于提高网络性能。如果空闲连接永久关闭,则重新建立连接时会有开销。如果空闲连接打开太长时间,则不必要地使用资源。
max-header-size
HTTP 请求标头的最大大小,以字节为单位。默认值为 1048576(1024KB)。
限制标头大小有助于防止特定类型的拒绝服务攻击。
buffer-pool
指定用于监听器的 the
io
子系统中的缓冲区池。默认情况下,所有侦听器都使用默认的
缓冲区池。您可以使用这个选项将每个监听程序配置为使用唯一的缓冲区池,或者让多个监听器使用相同的缓冲区池。
worker
undertow
子系统依赖于io
子系统来提供 XNIO 工作程序。这个选项指定监听程序使用的 XNIO 工作程序。默认情况下,侦听器使用 theio
子系统中的默认
工作程序。将每个监听程序配置为使用特定的 worker 可能会很有用,以便您可以将不同的工作程序资源分配给特定类型的网络流量。
配置 Listener 选项
您可以使用管理控制台或管理 CLI 配置侦听器选项。
使用管理控制台配置它们:
-
导航到 Configuration
Subsystems Web(Undertow) Server。 - 选择您要配置的服务器,然后单击 View。
- 在左侧菜单中,选择 Listener,然后选择要配置的监听器类型,如 HTTP Listener,然后在表中选择侦听器。
- 点 Edit,修改您要配置的选项,然后点 Save。
-
导航到 Configuration
要使用管理 CLI 配置它们,请使用以下命令:
/subsystem=undertow/server=SERVER_NAME/LISTENER_TYPE=LISTENER_NAME:write-attribute(name=OPTION_NAME,value=OPTION_VALUE)
例如,要将
default
设置为-
connectionsserver Undertow 服务器中的默认
HTTP 侦听器的 max-100000
,请使用以下命令:/subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=max-connections,value=100000)