通过Javascript API将多个文件上传到Google云端硬盘的最佳策略

时间:2016-12-08 12:07:37

标签: google-drive-api

我正在开发一个项目,该项目需要通过API将多个文件上传到Google云端硬盘。文件数量可以是几十个,其大小可以是几兆字节。

我的问题是:将文件逐个发送到Google云端硬盘是一种更好的策略,还是应该并行发送一堆文件? Google Drive会对请求进行并行化,还是按顺序逐个执行?是否有描述此行为的文档?

提前致谢!

2 个答案:

答案 0 :(得分:1)

好的,所以在我看来,无论你是逐个发送文件还是批量发送文件,它们都是逐个实际处理的。

我进行了一项测试,其中我并行上传了1个文件,2个文件,3个文件,4个文件,5个文件和10个文件,并记录了它们所花费的时间。我为每个文件数做了9次,并以秒为单位记录了中位数时间。所有文件实际上都是同一个文件(大小约为3 MB):

结果如下:

1个文件:总共9.6秒 - 每个文件9.6秒

2个文件:总共19.7秒 - 每个文件9.8秒

3个文件:总共26.5秒 - 每个文件8.8秒

4个文件:总共34.1秒 - 每个文件8.5秒

5个文件:总共44.6秒 - 每个文件8.9秒

10个文件:总共84.1秒 - 每个文件8.41秒

最重要的是,无论您发送Google云端硬盘的上传请求数量多少(假设您没有获得403),每个文件所需的时间都是相同的。在我的情况下,每个文件8-9秒。

我猜上传请求在Google端排队。

答案 1 :(得分:0)

没有一个"最佳策略"。这取决于您希望在应用程序中实现的目标。 Google云端硬盘可以处理串行或并行上传,但请记住,对于发送多个请求的速度,没有未记录的限制。如果发送速度过快,您将遇到" 304速率限制"错误,这是谷歌的说法"减速或我们将此视为DoS攻击"。