我有一个关于向 ftp 服务器进行多文件并行上传的问题。假设客户端和服务器之间的带宽为B
。
当我与服务器建立连接时,整个带宽都会被使用吗?
如果不使用整个带宽,而只
B/4
使用带宽,并且我打开 4 个并行连接,那么所有连接是否会从服务器获得相同的优先级。与服务器可以建立的并行连接的通常限制是多少?假设现在我打开多个到服务器的连接,客户端的这两种实现方式中哪一种会更快?情况 1:单线程,
put
在每个连接上执行基于循环的网络。情况 2:多线程,其中每个线程执行一个put
。(我认为如果没有使用整个带宽,情况 2 会更快)哪种是最好的方法。
在我开始实施(使用 libcurl)之前,想与社区讨论一下这个问题。谢谢。
答案1
什么是“那个”服务器?您的问题取决于服务器端的实现。如果服务器足够“智能”,它可以限制并行下载。或者根本不限制下载。这个问题无法回答,因为没有通用的解决方案。
甚至有些服务器只允许在并行上传文件时下载。或者反过来。测试并试用。
对于下载而言正确的,对于上传而言也正确。