我开发了一个新网站,并希望将GridFS用作所有用户上载的存储,因为与常规文件系统存储相比,它提供了很多优势。

nginx提供的GridFS的基准测试表明,它不如nginx提供的普通文件系统快。

Benchmark with nginx

有没有人在生产环境中使用GridFS,或者将其用于新项目?

最佳答案

我在其中一台服务器上使用gridfs,该服务器是价格比较网站的一部分,具有可观的流量统计信息(每天约有25k访客)。服务器没有太多ram,2gigs,甚至cpu也不是很快(Core 2 duo 1.8Ghz),但是服务器有足够的存储空间:raid 0配置中为10Tb(sata)。服务器正在做的工作非常简单:

价格比较器上的每个产品都有一个镜像(根据我们的产品数据库,大约有1000万个产品),服务器的工作是下载镜像,调整大小,将其存储在gridfs上并将其交付给访问者浏览器。 ..如果它不存在于网格中...或...如果它已存储在网格中,则将其传递给访问者浏览器。因此,这可以称为“传统CDN模式”。

自服务器启动并运行以来,我们已在该服务器上存储和处理了400万张图像。调整大小和存储内容是由一个简单的php脚本完成的,但是可以肯定的是,使用python脚本或类似Java的脚本可能会更快。

当前数据大小:11.23g

当前存储大小:12.5g

指数:5

索引大小:849.65m

关于可靠性:这是非常可靠的。服务器未加载,索引大小正常,查询速度快

关于速度:可以肯定的是,它的速度是否不如本地文件存储快,可能慢了10%,但是足够快,即使需要处理图像时也可以实时使用,在我们的情况下,这非常依赖php。维护和开发时间也减少了:删除单个或多个镜像变得如此简单:只需使用简单的delete命令查询数据库。另一个有趣的事情是:当我们使用本地文件存储重新启动旧服务器时(成千上万个文件夹中有上百万个文件),有时挂起数小时,原因是系统正在执行文件完整性检查(这实际上要花费数小时...)。 gridfs不再存在此问题,我们的图像现在存储在较大的mongodb块中(2gb文件)

所以...在我看来...是的,gridfs足够快速,可靠,可以用于生产。

07-28 01:43
查看更多