如何使用netty4实现高吞吐量服务器

时间:2013-12-03 03:25:57

标签: java netty throughput

如何使用netty4实现高吞吐量服务器?
在我的基准测试中,封装小约16byte~0.5K,tps约为8.8w / s,不能上升,netty4中是否有一些参数调整建议以便小包装? 代码是RocketMQ,它是一个具有自定义存储结构的MQ,也使用代理和客户端之间的私有协议。
非常感谢。

1 个答案:

答案 0 :(得分:1)

像诺曼·毛雷尔(Norman Maurer)在评论中所说的那样,如果没有一些代码和分析,很难提供帮助。但我会试一试......

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

作为一种解决方案,您可以尝试将它们放在每10毫秒刷新一次的队列中,或者在100个数据包填满之后。请注意, WILL 会导致延迟增加,特别是在只发送少量数据包时。

相关问题