影响在SocketChannel中发送大量数据的速度有哪些因素?

时间:2016-06-11 04:33:30

标签: java performance sockets nio socketchannel

有人能告诉我影响在SocketChannel中发送大量数据的速度的具体因素是什么?例如,字节分配是否会影响速度?

1 个答案:

答案 0 :(得分:0)

主要限制因素依次为:

  1. 网络带宽,我指的是对等体之间路径最慢部分的带宽。
  2. 接收器处的套接字接收缓冲区的大小。如果它小于路径的带宽延迟乘积,则无法充分利用全部可用带宽。
  3. 您发送的速度。与评论中的建议相反,您应该尽可能多地发送,并尽可能快地重复,假设阻止模式。在非阻塞模式下,它要复杂得多,但如果您的目标是带宽利用率,那么您最好使用阻止模式。你也可能更好地使用java.net而不是NIO。