文件上传到Google Cloud Storage的速度很慢

时间:2019-01-10 06:38:15

标签: google-cloud-platform google-drive-api google-cloud-storage

我注意到向Google Cloud Storage的上传速度非常低,与将文件上传至Google云端硬盘相比,速度慢了将近2.5倍。以下是截屏视频,比较了两者用于上传1GB文件的情况:

https://gyazo.com/c3488bd56b8118043b7df5aab813db01

这只是一个示例,但是我也尝试过使用gsutil命令行工具,并使用它们提供的所有建议来最快地上传大文件(例如,使用parallel_composite_upload_threshold)。它仍然比我习惯的慢。慢得多。

有什么方法可以提高此上传速度?为什么上传到云端硬盘的速度要比上传到GCS的速度快得多?

3 个答案:

答案 0 :(得分:2)

与控制台一样,我花了一天的时间使用console.google.cloud.com aka浏览器上传了大约30.000张图像(100kb /图像)。然后,我尝试使用gsutil在Ubuntu中通过终端上载文件。按照此处的说明进行操作:https://cloud.google.com/storage/docs/uploading-objects

对于单个文件:

gsutil cp [LOCAL_OBJECT_LOCATION] gs://[DESTINATION_BUCKET_NAME]/

对于目录:

gsutil -m cp -R [DIR_NAME] gs://[DESTINATION_BUCKET_NAME]

使用gsutil的速度非常快,我上传了100.000张图片(100〜400kb /张图片),只用了不到30分钟的时间。

老实说,我没有做很多研究,为什么使用gsutil绝对比使用控制台快。可能是由于gsutil提供了-m选项,该选项执行并行(多线程/多处理)复制,这可以显着提高上载的性能。 https://cloud.google.com/storage/docs/composite-objects

答案 1 :(得分:1)

首先,这两种产品都有不同的用途。虽然可以看到云端硬盘更多是使用云的小型文件存储,但云存储专注于与Google Cloud Platform产品的集成,数据可靠性,可访问性,从小到大的可用性。

您需要考虑到将文件上传到Cloud Storage时,它被视为blob object,这意味着它必须经过一些额外的步骤,例如,对象数据需要上传到Cloud Storage时为encrypted,并检查consistency上载的对象。

同样,根据存储桶的配置,上载的对象可能已启用version control,而存储桶可能是storing the data in various regions at the same time,这会降低文件的上载速度。

我认为,其中某些要点(特别是加密)是使文件在云端存储中的上传速度比云端硬盘慢的原因。

但是,我建议将您要上传到的存储桶放在region closest to your area上,这可能会有所作为。

答案 2 :(得分:0)

如果您不知道。 Google存储桶使用的过滤器与Google驱动器不同。 Google存储桶使用某种过滤器对其进行索引或其他操作。使其减速。 Google播放了一段视频,解释了速度下降以及解决方法。