On Wed, Dec 7, 2016 at 5:45 PM, Andreas Gerstmayr <andreas.gerstmayr@xxxxxxxxx> wrote: > Hi, > > does the CephFS kernel module (as of kernel version 4.8.8) support > parallel reads of file stripes? > When an application requests a 500MB block from a file (which is > splitted into multiple objects and stripes on different OSDs) at once, > does the CephFS kernel client request these blocks in parallel? You're definitely exceeding the default readahead parameters at that point, but somebody who works with the kernel client more will have to tell you how to adjust them. > > My benchmarks suggest it does not (there is no significant difference > in throughput whether I'm reading a file in chunks of 64 KB, 500 MB or > 1 GB blocks). > In the architecture docs [1] under the protocol section data striping > and the resulting performance gains are explained - but I'm not sure > if this means that this optimization is already implemented in the > current CephFS kernel module or not. The general strategy is usually to do readahead up to a full block (or maybe the current and next block, if it's sure enough about how much data you need). You'll need to set looser limits to let it do more than that; having extremely large defaults on normal workloads tends to quickly lead you to using a lot of bandwidth spuriously. -Greg > > > [1] http://docs.ceph.com/docs/master/architecture/#data-striping > > Thanks, > Andreas > _______________________________________________ > ceph-users mailing list > ceph-users@xxxxxxxxxxxxxx > http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com