请解释一下 Netty 中的 io.netty.allocator.maxOrder 是什么!
默认情况下,它的值为 11,因此每个块我得到 8192 << 11 = 16MiB 对于 Java 11 上的 2 个核心,我得到 4 个直接竞技场,每个竞技场有 6 个 DirectByteBuffers(我有内存转储)。所以 16Mib x 4 个竞技场 x 6bufs = 384Mib。
我的应用程序有基于 netty 的传输服务器,有数百个客户端连接发送大量小消息(每条消息一些 KB)。但我的应用程序也使用直接内存来满足自己的需要。所以额外的 384Mib 对我来说太贵了。
请告知,我可以将 io.netty.allocator.maxOrder 减少到 8 而不会使 netty 性能下降吗?