Java端口转发性能

时间:2015-07-17 15:21:43

标签: java performance sockets port sftp

初始化 我已经实现了一个非常基本的端口转发应用程序,它从客户端获取输入并将其发布到远程sftp服务器。

套接字:

socket sock = server_sock.accept()
Socket client_sock = new Socket("remote sfpt server host",port);
client_sock.connect();

然后使用以下逻辑复制来自每个套接字的输入/输出流。

拷贝:

byte b[] = new byte[65535];
int bytesRead = 0;
while ((bytesRead =in.read(b)) >= 0){
    out.write(b, 0, bytesRead);
    out.flush();
}

问题

  1. 托管sftp服务器和基本端口转发服务器 同一台机器。

  2. 直接连接到sftp服务器,我可以以大约30MB / s的速度传输文件,而

  3. 通过端口转发服务器传输文件的速度始终为~3MB / s-4MB / s。

  4. 我也尝试过使用ServerSocketChannel,但性能却是如此 相同。

  5. 问题如何根据sftp服务器改进此基本端口转发服务器的性能?

0 个答案:

没有答案
相关问题