Java Netty优化延迟

Java Netty优化延迟,java,performance,tcp,io,netty,Java,Performance,Tcp,Io,Netty,我一直在用netty 4.0(Alpha 8)开发一个代理。一切都很好,目前我需要优化延迟,有效地从纽约向伦敦发送大约4000字节的字符串。我使用JZlib编码器将有效负载压缩到分隔帧解码器上 与专有工具相比,我这样做了,所以我有一个基准,目前我从第三方接口开始测量,直到我把它放到一个网络通道。对于客户端/服务器,这一过程在亚毫秒到3-5毫秒的范围内。在服务器上,我使用从收到消息到将其发送到第三方接口的时间 在传输时间范围从200-500毫秒到100毫秒以下、1秒和2秒范围内的异常值之间 目前我

我一直在用netty 4.0(Alpha 8)开发一个代理。一切都很好,目前我需要优化延迟,有效地从纽约向伦敦发送大约4000字节的字符串。我使用JZlib编码器将有效负载压缩到分隔帧解码器上

与专有工具相比,我这样做了,所以我有一个基准,目前我从第三方接口开始测量,直到我把它放到一个网络通道。对于客户端/服务器,这一过程在亚毫秒到3-5毫秒的范围内。在服务器上,我使用从收到消息到将其发送到第三方接口的时间

在传输时间范围从200-500毫秒到100毫秒以下、1秒和2秒范围内的异常值之间

目前我正在使用oio,因为从客户端到服务器只有一个永久连接,所以我使用tcp无延迟。交通繁忙,我正在发送市场数据信息

目前,我想继续远程评测应用程序,启动gcc日志记录,在本地或服务器上尝试嗅探包,并将第三方流量与我当前通过netty生成的流量进行比较

我的问题是:

  • 我可以用netty中的哪一点来测量使用netty的组件中使用的时间,那么对于客户端和服务器,它是channel.write和messageReceived吗
  • 在这种情况下,我应该尝试哪些其他通道选项来提高性能
  • 使用wireshark时,任何人都会对要查找的包属性提出建议(我知道这是一个一般性问题,我将首先比较包)
  • 我应该使用netty中提供的其他回调或诊断帮助吗
非常感谢你的建议

我能够解决它,结果非常好。即使对于少量的连接,一些文章中给出的建议是使用oio I切换到nio,但这导致大多数传输的传输结果都低于100毫秒