views:

234

answers:

2

I develop a new website and I want to use GridFS as storage for all user uploads, because it offers a lot of advantages compared to a normal filesystem storage.

Benchmarks with GridFS served by nginx indicate, that it's not as fast as a normal filesystem served by nginx.

Benchmark with nginx

Is anyone out there, who uses GridFS already in a production environment, or would use it for a new project?

A: 

It really depends on which driver you're using. For example, you'll be able to server things much quicker from Java than from Ruby.

Also depends on how many requests you're serving. Definitely benchmark for you particular use case; that's the only way to know if it'll work for you. You might also consider trying the nginx-gridfs module:

http://github.com/mdirolf/nginx-gridfs

It's supposed to be pretty fast.

Kyle Banker
I've tested GridFS with Ruby. It works and it might be fast enough for my purposes.I guess using nginx with the gridfs module is the best/fastest method for serving files.
Metty
A: 

As mentioned, it might not be as fast as an ordinary filesystem but then it gives you man advantages over ordinary filesystems [0] which I think are worth giving up a bit speed for.

Ultimately, with sharding, you might reach a point however where the GridFS storage actually becomes the faster option as opposed to an ordinary filesystem and a single node.

[0] http://www.markus-gattol.name/ws/mongodb.html#why_use_gridfs_over_ordinary_filesystem_storage

Markus Gattol