带有保险丝和 S3FS 的 Amazon S3 支架


amazon s3 mount with fuse and s3fs

我在 Centos 6.4 上安装了一台装有 php-fpm 的 Nginx 服务器

1. 现状:

我使用NFS服务器来保存版本和文件,Nginx挂载NFS并从中提供文件。此方案有效并处理大量流量

2. 期望的场景

将 NFS 替换为 S3,并使用 fuse 和 s3fs 挂载。在这种情况下,服务器在强制处理高流量时失败。

保险丝和s3fs慢得多还是我错过了什么?感谢

问题在于认为 S3 的行为类似于 NFS 挂载。NFS 和其他磁盘卷在块上工作,s3 处理整个对象。通常,从 s3fs 访问文件时,整个文件被复制到 tmp,它的延迟比磁盘访问高得多。

几个解决方案:

如果您更喜欢 NFS,则可以从单独的实例设置 NFS 共享,并将其挂载到需要它的实例上。

否则,您可以将代码直接部署到实例本身(这是您可以自动化的操作)并从那里运行代码。静态资产可以通过 cloudfront 直接从 s3 和/或使用自定义源与 cloudfront 一起提供。

看看 RioFS 项目,它允许您将 S3 存储桶挂载为本地目录(我们正在使用 fuse)。datasage如前所述:您无法真正将 NFS 与 S3 进行比较,因为这两个文件系统是在不同场景中使用的完全不同的文件系统。RioFS允许您上传/下载文件并列出目录内容。不支持任何额外的操作(例如将数据附加到文件)。