Re: On making performance.parallel-readdir as a default option

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Fri, Sep 21, 2018 at 11:25 PM Raghavendra Gowdappa <rgowdapp@xxxxxxxxxx> wrote:
Hi all,

We've a feature performance.parallel-readdir [1] that is known to improve performance of readdir operations [2][3][4]. The option is especially useful when distribute scale is relatively large (>10) and is known to improve performance of readdir operations even on smaller scale of distribute count 1 [4].

However, this option is not enabled by default. I am here proposing to make this as a default feature.

But, there are some important things to be addressed in readdir-ahead (which is core part of parallel-readdir), before we can do so:

To summarize issues with readdir-ahead:
* There seems to be one prominent problem of missing dentries with parallel-readdir. There was one problem discussed on tech-list just yesterday. I've heard about this recurrently earlier too. Not sure whether this is the problem of missing unlink/rmdir/create etc fops (see below) in readdir-ahead. ATM, no RCA.
* fixes to maintain stat-consistency in dentries pre-fetched have not made into downstream yet (though merged upstream [5]).
* readdir-ahead doesn't implement directory modification fops like rmdir/create/symlink/link/unlink/rename. This means cache won't be updated wiith newer content, even on single mount till its consumed by application or purged.
* dht linkto-files should store relative positions of subvolumes instead of absolute subvolume name, so that changes to immediate child won't render them stale.
* Features parallel-readdir depends on to be working should be enabled automatically even though they were off earlier when parallel-readdir is enabled [6].
regards,
Raghavendra

_______________________________________________
Gluster-devel mailing list
Gluster-devel@xxxxxxxxxxx
https://lists.gluster.org/mailman/listinfo/gluster-devel

[Index of Archives]     [Gluster Users]     [Ceph Users]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux