并行 TCP 连接的数据传输速度较慢
Posted
技术标签:
【中文标题】并行 TCP 连接的数据传输速度较慢【英文标题】:Slower data transfer with parallel TCP connections 【发布时间】:2016-10-12 19:02:18 【问题描述】:我使用 TCP AsyncSocket 通过本地连接(使用主机作为本地 IP 地址)将大文件从一台机器传输到另一台机器。
首先,我为单个 TCP 套接字连接进行了设置,感觉数据传输速度很慢。大约 1mb/秒。
为了让它更快,我创建了 10 个 TCP 套接字(在不同线程上的不同端口上连接)并开始同时读取文件分区。但这没有任何区别。传输速率与单个 TCP 套接字连接的传输速率几乎相同(甚至更慢)。
有什么想法吗?为什么多个 TCP 套接字不并行传输数据?有什么方法或建议可以通过 TCP 快速传输文件?
【问题讨论】:
【参考方案1】:仅当 I/O 通道未饱和且任务受单核限制时,并行化 I/O 操作才有帮助。
很可能,添加额外的 I/O 通道实际上会减慢速度,因为您现在有多个客户端在争夺稀缺资源。
你需要弄清楚的是你的瓶颈在哪里?只有量化了性能问题的实际原因,您才能解决它。
【讨论】:
谢谢。我尝试了 FTP、Netcat 等。我收到了几乎相似的数据传输速度。路由器和活动客户端数量等其他因素也略有不同。所以,没关系。以上是关于并行 TCP 连接的数据传输速度较慢的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 MATLAB 神经网络在使用并行处理时训练速度较慢?