On Fri, Feb 15, 2013 at 6:37 AM, Brian Foster <bfoster@xxxxxxxxxx> wrote:
On 02/01/2013 08:27 AM, Jeff Darcy wrote:
> As we all know, directory-listing performance (or lack thereof) is a bitHey Jeff,
> of a sore spot for many GlusterFS users, because it's one of the few
> places where FUSE really does make a difference.
Just an update on this topic... I slapped some prototype code together
to play around with directory prefetching [1] and ran a few basic tests.
The results could probably still be considered slow, but there is a nice
bump in performance. I'm seeing roughly 50% improvement in single large
directory read tests (numbers at [1]). I think this is mostly from using
larger requests.
There are still some interesting tests to run (I'd like to try Avati's
updates to support native fuse readdirp, compare results from increasing
the fuse readdirp buffer, and perhaps create a libgfapi driver to factor
the fuse overhead), but wanted throw this out there for reference.
Thoughts and ideas appreciated.
Brian
[1] - http://review.gluster.org/4519
I only glanced through the patch without going through in detail. But it certainly looks promising in terms of what it is doing! There is lot of potential and opportunities to increase readdir performance in general as the consistency requirements are much weaker than file I/O, and this is certainly a step in the right direction. I can also see how this translator and native fuse readdirplus can together work better in a complementary manner.
In any case we should "polish" it into a minor feature for the next release as the patch is already so much ready.
Avati