There’s another great post on the community Q&A site – this 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.