Netty在同一个频道上处理读写是否存在问题。 我们在Netty 4.1中构建了一个消息代理。我们为负载测试执行了两种类型的测试。
1)客户端A向代理发送PUBLISH数据包。代理进行一些处理,并通过相同的通道将数据包发送回同一客户端。
2)第二种情况是客户端A通过其频道向代理发送PUBLISH数据包。代理执行一些处理,然后将数据包随机发送到当时连接到代理的任何一个客户端(当前客户端除外)。
我们发现在第一种情况下,Netty的读取操作需要花费大量时间,而在第二种情况下,一切都运行得非常顺利,我们得到了理想的理论延迟。
所以只想确认Netty如何在同一个频道上处理读写。
答案 0 :(得分:1)
在同一频道上进行读写是Netty的一个非常典型的用法:例如,我认为Web服务器几乎都在做同样的事情。 Netty示例代码中的Web服务器/代理服务器可以显示如何执行此操作并且性能应该没问题。
我认为第一步是找出“慢”的位置。如果代码中没有慢,请查看tcp dump可能会有所帮助。