1

如何用netty4实现高吞吐量服务器?
包很小,大概16byte~0.5K,tps在我的benchmark里大概8.8w/s,升不上去,netty4有没有一些参数调优推荐给小包?
代码是RocketMQ,它是一个自定义存储结构的 MQ,也使用代理和客户端之间的私有协议。
非常感谢。

4

1 回答 1

1

就像 Norman Maurer 在他的评论中所说的那样,没有一些代码和分析是很难提供帮助的。但我会试一试...

由于每个数据包都很小,因此单独发送它们会有很多开销,这是因为 Netty 的设计方式。一旦你发送一条消息,它就会通过整个链(管道),虽然很有帮助,但它有助于保持简单和模块化,但如果你发送几条小消息,它很快就会加起来。

作为一种解决方案,您可以尝试将它们放在每 10 毫秒或 100 个数据包被填充后刷新的队列中。请注意,这导致延迟增加,特别是当只有几个数据包被发送时。

于 2013-12-07T22:05:58.983 回答