当在远程服务器上工作时,我注意到上传小文件(比如 0.1 - 0.2 MB)时的传输速度明显比上传大文件(1MB +)时慢。
似乎文件越大,传输需要的时间就越长,才能加快上传速度。我注意到它开始时很慢,然后逐渐加速,几乎像加速一样。
为什么会出现这种行为?我能做些什么来消除它?
答案1
重要的不是速度,而是计算方式。
通常,当您初始化传输时,计数器从此时开始,忽略任何协商时间。
与实际的数据传输相比,小文件的上传时间大部分都花在了初始协商上。对于较大的文件,这种初始计算错误会逐渐被整体传输时间所吸收。
这甚至适用于您实际上正在协商多个同时传输时 - [例如 wget 等将传输分成多个块并同时发送它们],因为每个块都会等待它之前的块初始化后再开始;所以即使在这种情况下传输在传输过程中确实加速了,它仍然会受到测量系统的影响。