[Gluster-users] Small files performance

Gmail b.s.mikhael at gmail.com
Wed Jun 1 20:06:52 UTC 2016


Find my answer inline.
> On Jun 1, 2016, at 12:30 PM, Gandalf Corvotempesta <gandalf.corvotempesta at gmail.com> wrote:
> 
> Il 28/05/2016 11:46, Gandalf Corvotempesta ha scritto:
>> 
>> if i remember properly, each stat() on a file needs to be sent to all host in replica to check if are in sync
>> 
>> Is this true for both gluster native client and nfs ganesha?
stat() on FUSE mount is done from the client to all the bricks in the same replica group carrying the file, the data flow is as follows, the FUSE mount point do the call using libgfapi (FUSE overhead), libgfapi talks to the client kernel, then the client kernel talks to the kernels of all the storage nodes in the same replica group, the storage node kernel talks to the Gluster daemon then Gluster talks to the underlying filesystem, etc…

stat() on NFS, is just a single stat() from the client to the storage node, then all the storage nodes in the same replica group talk to each other using libgfapi (no FUSE overhead)

conclusion, I’d prefer NFS over FUSE with small files.
drawback, NFS HA is more complicated to setup and maintain than FUSE.
>> 
>> Which is the best for a shared hosting storage with many millions of small files? About 15.000.000 small files in 800gb ? Or even for Maildir hosting
>> 
>> Ganesha can be configured for HA and loadbalancing so the biggest issue that was present in standard NFS now is gone
>> 
>> Any advantage about native gluster over Ganesha? Removing the fuse requirement should also be a performance advantage for Ganesha over native client
>> 
> 
> bump
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-users



More information about the Gluster-users mailing list