[Gluster-devel] Fwd: Change in glusterfs[master]: performance/readdir-ahead: translator prototype
John Mark Walker
johnmark at redhat.com
Fri Feb 15 14:25:39 UTC 2013
Interesting development work here, if anyone is interested.
-JM
----- Forwarded Message -----
From: "Brian Foster (Code Review)" <root at dev.gluster.com>
Sent: Friday, February 15, 2013 9:21:41 AM
Subject: Change in glusterfs[master]: performance/readdir-ahead: translator prototype
Brian Foster has uploaded a new change for review.
Change subject: performance/readdir-ahead: translator prototype
......................................................................
performance/readdir-ahead: translator prototype
This is a prototype translator to explore the potential performance
benefits of directory prefetching on sequential directory reads. It
is incomplete and only tested with a focus on performance of the
specific use case of single-threaded, sequential directory reads.
General thoughts on approach/design are appreciated.
While directory read performance could still be considered slow with
this functionality, preliminary results show a measurable
improvement:
Notes:
- The test directory structures are one or two levels deep. 'ls -R'
is used to ensure lookups are generated during the traversal.
- The biggest issue in performance of gluster readdirp tests is the
ineffectiveness of md-cache during the initial traversal. Inodes
are not linked until the completion of the first pass, causing
lookups to dominate the test and increase the time to complete by
orders of magnitude. This is a separate issue with fixes in
progress. Thus, all tests that follow are run after an initial
'ls -R' to ensure inodes are linked into the inode table and
md-cache is working.
Test Description:
- 2-brick DHT volume, all translators other than md-cache disabled.
- gid-timeout=2 on client mount.
- Command: time ls -R /mnt/<largedir> | wc -l
Results:
--- 100k files (1 dir)
- baseline - ~13s
- readdir-ahead - ~6s
--- 200k files (2 dirs, 100k per dir)
- baseline - ~28s
- readdir-ahead - ~12s
--- 1m files (10 dirs, 100k per dir)
- baseline - 2m32s
- readdir-ahead - 1m13s
Change-Id: Ieceb9e1eb47d1d5b5af8da2bf03839537364653f
Signed-off-by: Brian Foster <bfoster at redhat.com>
---
M configure.ac
M xlators/performance/Makefile.am
A xlators/performance/readdir-ahead/Makefile.am
A xlators/performance/readdir-ahead/src/Makefile.am
A xlators/performance/readdir-ahead/src/readdir-ahead-mem-types.h
A xlators/performance/readdir-ahead/src/readdir-ahead.c
A xlators/performance/readdir-ahead/src/readdir-ahead.h
7 files changed, 552 insertions(+), 1 deletion(-)
git pull ssh://git.gluster.org/glusterfs refs/changes/19/4519/1
--
To view, visit http://review.gluster.org/4519
To unsubscribe, visit http://review.gluster.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ieceb9e1eb47d1d5b5af8da2bf03839537364653f
Gerrit-PatchSet: 1
Gerrit-Project: glusterfs
Gerrit-Branch: master
Gerrit-Owner: Brian Foster <bfoster at redhat.com>
More information about the Gluster-devel
mailing list