GlusterFS HOWTO: NFS Performance with FUSE Client Redundancy

There’s another great post on the community Q&A sitethis one about NFS performance, excessive load times for PHP-based web sites, and the Fuse client. This was written by Joe Julian, our resident IRC chairman and all-around Gluster soup stirrer:

There’s been a lot of discussion about the latency due to self-heal checking with the fuse client, and how with most php based web sites the sheer volume of files that must be opened for each page load causes page times to be excessive. Common workarounds have been to use web server caches, or php caches to avoid disk reads wherever possible. When this cannot be done, the recommendation has been to use NFS as the kernel caches reduce the disk reads. The problem, of course, with NFS mounts is redundancy failure. ucarp can mitigate the problem, but there are still problems with lost tcp connections causing errors.

Another solution is to move the NFS service to the client. NFS is provided in GlusterFS by using the same client that’s used for fuse, and adding an nfs server translator instead of fuse. This lends itself very well to being moved to the client and having the client provide it’s own NFS service.

To take advantage of this technique, there are two ways of doing it.

Read the rest of Joe’s article, in full. If you’ve had performance issues trying to use GlusterFS for web site file storage, you might find this useful.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s