【问题标题】:Netty Recommended Buffer SizeNetty 推荐的缓冲区大小
【发布时间】:2021-11-11 02:49:18
【问题描述】:

我一直在尝试了解 Netty 的 FrameEncoders。特别是 DelimiterBasedFrameDecoder。在examplescouple 中,我有encountered 的缓冲区大小,8192(字节?)似乎弹出。为什么选择这个尺寸有什么具体原因吗?作为最佳实践?它可以增加吗?增加这个大小会有什么影响?设置此尺寸时要考虑什么因素?

【问题讨论】:

  • DelimiterBasedFrameDecoder 用于基于文本的协议。 8192 是一个随机数,它可以是任何你想要的。但可能选择它是因为它是 1024 的倍数,也就是 8K。使用适合您的协议的任何数字。如果累积的 ByteBuf 超过了提供给 DelimiterBasedFrameDecoder 的数字,您将得到一个 TooLongFrameException。此异常将传递给您的入站处理程序

标签: java networking tcp operating-system netty


【解决方案1】:

通常,限制本身是由您实现的协议定义的。例如,SMTP 可能具有与 IMAP 不同的限制。所以它真的取决于你和你想要实现的协议。这里最重要的一点是应该有一个限制,否则在远程系统上触发高内存使用将是微不足道的。

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 2012-01-10
    • 2012-12-05
    • 2013-06-26
    • 1970-01-01
    • 2020-09-05
    • 2014-06-10
    • 2015-06-05
    相关资源
    最近更新 更多