第 9 章 Undertow 子系统调整
与 JBoss EAP 6 中之前的 Web 子系统相比,JBoss EAP 7 中引入的非阻塞 I/O (NIO) undertow 子系统显著提高了性能。为您的环境调整 undertow 子系统的机会包括:
- 缓冲缓存配置
- 字节缓冲池配置
- Jakarta Server Pages 配置选项
- 侦听器配置选项
- 会话属性 marshalling
9.1. 缓冲缓存配置 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
缓冲区缓存存储由 undertow 子系统处理的静态文件。这包括镜像、静态 HTML、CSS 和 JavaScript 文件。您可以为每个 Undertow servlet 容器指定默认缓冲区缓存。为您的 servlet 容器拥有优化的缓冲区缓存可以提高 Undertow 性能来提供静态文件。
缓冲区缓存中的缓冲区在区域内分配,并且是固定大小。每个缓冲区缓存有三个可配置的属性:
- buffer-size
- 单个缓冲区的大小,以字节为单位。默认值为 1024 字节。将缓冲区大小设置为完全存储您的最大静态文件。
- buffer-per-region
- 每个区域的缓冲区数量。默认值为 1024。
- max-regions
- 最大区域数量,用于设置分配给缓冲区缓存的最大内存量。默认值为 10 个区域。
您可以通过乘以缓冲区大小、每个区域的缓冲区数量以及最大区域数来计算缓冲区缓存使用的最大内存量。例如,默认缓冲区缓存为 1024 字节,每个区域 * 10 个区域 = 10 MB。
根据您的静态文件的大小配置缓冲区缓存,以及测试开发环境中预期负载的结果。在确定对性能的影响时,请考虑缓冲区缓存性能的平衡与所使用的内存的好处。