Iva*_*dov 20 .net c# performance google-drive-api dotnet-httpclient
我正在尝试将大型(50 MB - 32 GB)文件上传到Google.Drive.我正在使用google-api-dotnet,它提供上传逻辑和加密支持.主要问题是上传速度慢.
我查看了api 源代码.每个文件都由块上传(我将块大小设置为4 MB)每个块都通过新的HttpRequestMessage实例上传.一旦api服务启动,就会创建HttpClient,并将其重用于所有请求.
上传速度为600千字节/秒并且稳定,而我的上行速度快10倍.
我用Wireshark捕获了流量:
每个块被分成数百或数千个小TLS包.对于每个包装好的小TLS,预计会有确认.因此产生的速度非常低.
但是当我启动Fiddler代理时,速度变得和我的上行链路一样快.TLS数据包并行传输速度非常快,稍后会收到确认:

我用Win7在5台PC上尝试了我的代码,并且都显示出类似的低上传速度.但是当我尝试使用Win10 PC时 - 速度非常好.我也尝试了Google.Drive客户端应用程序,它在速度方面遇到了同样的问题.我试图搜索这个行为,但我没有找到任何东西.
SSLv3/TLSv1 的最大记录大小为 16kB,因此您可能会与旧版本握手。我认为谷歌针对用户 SPDY / HTTP2 协议进行了优化,可以在同一连接中并行发送。也许你的客户不...
| 归档时间: |
|
| 查看次数: |
1399 次 |
| 最近记录: |