我使用TCP AsyncSocket使用本地连接(使用主机作为本地IP地址)将大文件从一台计算机传输到另一台计算机。
首先,我为单个TCP套接字连接做了设置,感觉数据传输速度很慢。它大约1mb / sec。
为了加快速度,我创建了10个TCP套接字(在不同的线程上的不同端口上连接)并开始同时读取文件的分区。但它没有任何区别。传输速率几乎与单个TCP套接字连接相同(甚至更慢)。
有什么想法吗?为什么多个TCP套接字不能并行传输数据?有什么方法或建议通过TCP快速传输文件?
答案 0 :(得分:4)
并行化I / O操作仅在I / O通道未饱和并且任务是单核绑定时才有用。
很可能,添加额外的I / O频道实际上会减慢速度,因为现在有多个客户端竞争稀缺资源。
你需要弄清楚你的瓶颈在哪里?只有在量化了实际导致性能问题的原因后,您才能解决问题。