首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >s3fs将亚马逊S3存储桶挂载为本地目录的稳定性如何

s3fs将亚马逊S3存储桶挂载为本地目录的稳定性如何
EN

Stack Overflow用户
提问于 2012-05-29 22:27:19
回答 2查看 77.5K关注 0票数 74

在s3fs中,将亚马逊S3存储桶挂载为本地目录的稳定性如何?对于高需求的生产环境,它是否推荐/稳定?

有没有更好的/类似的解决方案?

更新:使用EBS并通过NFS将其挂载到所有其他AMI是否更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-31 00:41:26

There's a good article on s3fs here,在读完之后,我求助于EBS分享。

它强调了使用s3fs时的几个重要注意事项,即与S3的固有限制相关的事项:

  • 没有文件可以超过5 GB
  • 您不能部分更新文件,因此更改单个字节将在许多小文件上重新上传整个file.
  • operation非常有效(毕竟每个小文件都是一个单独的s3fs对象)但大文件是非常高效的

S3支持部分/分块下载,s3fs不利用这一点,因此如果您只想读取1 GB文件的一个字节,则必须下载整个GB。

因此,这取决于您存储的是什么,s3fs是否是一个可行的选项。比方说,如果你正在存储照片,你想要写入或读取整个文件,而不是增量地更改文件,那么这很好,尽管有人可能会问,如果你这样做,那么为什么不直接使用S3的API呢?

如果你谈论的是应用程序数据(比如数据库文件、日志文件),而你想要做一些小的增量更改,那么它肯定是不能工作的,因为你不能增量地更改一个文件。(译者注:如果你想对文件进行增量更改,那么S3肯定不起作用。

上面提到的文章确实讨论了一个类似的应用程序- s3backer -它通过在S3上实现虚拟文件系统来解决性能问题。这绕过了性能问题,但它本身也有一些问题:

  • 数据损坏的高风险,由于延迟写入
  • 数据块大小过小(例如,默认大小为4K )可能会增加大量额外成本(例如,对于50 it,4K数据块大小为130美元)
  • 太大数据块大小可能会增加大量数据传输和存储费用。
  • 内存使用率可能令人望而却步:默认情况下,它缓存1000个数据块。

对于默认的4K块大小,这不是问题,但大多数用户

可能想要增加数据块大小。

我求助于EBS,从EC2实例挂载、驱动、共享。但您应该知道,尽管EBS挂载的NFS共享是性能最高的选项,但它有一个很大的问题-单点故障;如果共享EBS卷的计算机宕机,则您将无法访问访问该共享的所有计算机。

这是一个我能够接受的风险,也是我最终选择的选择。我希望这能帮到你。

票数 97
EN

Stack Overflow用户

发布于 2013-10-20 20:09:38

这是一个老问题,所以我将与S3FS分享我过去一年的经验。

最初,它有许多bug和内存泄漏(我有一个cron-job来每2个小时重新启动它),但在最新的1.73版本中,它非常稳定。

S3FS最大的好处是你少了一件事要操心,还能免费获得一些性能上的好处。

您的大多数S3请求将是PUT (~5%)和GET (~95%)。如果您不需要任何后处理(例如,缩略图生成)。如果你不需要任何后处理,你不应该首先访问你的web服务器并直接上传到S3 (使用CORS)。

假设你正在访问服务器,这可能意味着你需要对图像进行一些后处理。使用S3应用程序接口,您将上传到服务器,然后再上传到S3。如果用户想裁剪,你需要再次从S3下载,然后重新上传到服务器,裁剪,然后上传到S3。在启用S3FS和本地缓存的情况下,将为您处理此编排并保存从S3下载的文件。

在缓存方面,如果您将缓存到EC2上的临时驱动器,您将获得与out一起带来的性能优势,并且可以清除缓存,而无需担心任何事情。除非磁盘空间用完,否则应该没有理由清除缓存。这使得像搜索和过滤这样的遍历操作变得更加容易。

我希望它能与S3 (RSync风格)完全同步。这将使其成为企业版的DropBox或用于S3的Google Drive,但不必为配额和随之而来的费用而战。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10801158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档