第 9 章 Undertow 子系统调整
JBoss EAP 7 中引入的非阻塞 I/O(NIO) undertow 子系统在 JBoss EAP 6 中与之前的 Web 子系统相比,性能大大提高。为您的环境调整 undertow 子系统的机会包括:
9.1. 缓冲缓存配置
缓冲区缓存存储由 undertow 子系统处理的静态文件。这包括映像、静态 HTML、CSS 和 JavaScript 文件。您可以为每个 Undertow servlet 容器指定默认的缓冲区缓存。为 servlet 容器设置优化的缓冲区缓存可提高提供静态文件的 Undertow 性能。
缓冲区缓存中的缓冲区在区域内分配,是固定的大小。每个缓冲区缓存有三个可配置的属性:
buffer-size- 单个缓冲区的大小,以字节为单位。默认值为 1024 字节。将缓冲区大小设置为完全存储最大静态文件。
buffers-per-region- 每个区域的缓冲区数量。默认值为 1024。
max-regions- 区域的最大数量,设置分配给缓冲区缓存的最大内存量。默认值为 10 个区域。
您可以通过乘以缓冲区大小、每个区域的缓冲区数以及区域的最大数量来计算缓冲区缓存使用的最大内存量。例如,默认的缓冲区缓存为 1024 字节 * 1024 个缓冲区,每个区域为 10 个区域 = 10MB。
根据静态文件的大小以及开发环境中测试预期负载的结果来配置缓冲区缓存。在确定对性能的影响时,请考虑缓冲区缓存性能与所使用的内存的平衡。
其他资源
- 有关使用管理 CLI 配置缓冲区缓存的说明,请参阅 JBoss EAP 配置指南中的配置 缓冲区缓存。