【问题标题】:Slower data transfer with parallel TCP connections并行 TCP 连接的数据传输速度较慢
【发布时间】:2016-10-12 19:02:18
【问题描述】:

我使用 TCP AsyncSocket 通过本地连接(使用主机作为本地 IP 地址)将大文件从一台机器传输到另一台机器。

首先,我为单个 TCP 套接字连接进行了设置,感觉数据传输速度很慢。大约 1mb/秒。

为了让它更快,我创建了 10 个 TCP 套接字(在不同线程上的不同端口上连接)并开始同时读取文件分区。但这没有任何区别。传输速率与单个 TCP 套接字连接的传输速率几乎相同(甚至更慢)。

有什么想法吗?为什么多个 TCP 套接字不并行传输数据?有什么方法或建议可以通过 TCP 快速传输文件?

【问题讨论】:

    标签: objective-c sockets networking tcp asyncsocket


    【解决方案1】:

    仅当 I/O 通道未饱和且任务受单核限制时,并行化 I/O 操作才有帮助。

    很可能,添加额外的 I/O 通道实际上会减慢速度,因为您现在有多个客户端在争夺稀缺资源。

    你需要弄清楚的是你的瓶颈在哪里?只有量化了性能问题的实际原因,您才能解决它。

    【讨论】:

    • 谢谢。我尝试了 FTP、Netcat 等。我收到了几乎相似的数据传输速度。路由器和活动客户端数量等其他因素也略有不同。所以,没关系。
    猜你喜欢
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2011-01-19
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2016-05-06
    相关资源
    最近更新 更多