我正在使用一个 gcloud 存储桶,该存储桶安装到一个带有gcsfuse
. 当文件存储在存储桶上时,打开文件和读取它们没有问题,但是当我尝试将文件写入存储桶时,速度非常慢,当我说“非常”时,我的意思是如果不是,至少慢 10 倍100 次。应该是这样吗?如果是这样,我想我将不得不将文件写入永久磁盘,然后将文件上传到存储桶,然后将文件从存储桶下载到我的个人计算机。虽然这个过程会花费同样多的时间,但至少不会出现心理上的挫败感。
问问题
339 次
1 回答
1
从文档:
性能:云存储 FUSE 的延迟比本地文件系统高得多。因此,当一次读取或写入一个小文件时,吞吐量可能会降低。一次使用更大的文件和/或传输多个文件将有助于提高吞吐量。
- 单个 I/O 流的运行速度大约与 gsutil 一样快。
- gsutil rsync 命令特别容易受到延迟的影响,因为它一次读取和写入一个文件。在命令中使用顶级 -m 标志通常更快。
- 由于第一个字节的延迟,小随机读取速度很慢(不要在 Cloud Storage FUSE 上运行数据库!)
- 随机写入是通过读取整个 blob、在本地对其进行编辑并将整个修改后的 blob 写回 Cloud Storage 来完成的。对大文件的小写入按预期工作,但速度慢且成本高。
或者,请查看gsutil 工具或GCS 客户端库,甚至存储传输服务,因为它们可能更适合您的需求,具体取决于您的特定用例。
我希望这能澄清你的担忧。
于 2020-02-10T12:36:22.907 回答