Hi cephers,

I'm working through our testing cycle to upgrade our main ceph cluster from Luminous to Mimic, and I ran into a problem with ceph_fuse.  With Luminous, a single client can pretty much max out a 10Gbps network connection writing sequentially on our cluster with Luminous ceph_fuse.  When I tried the Mimic ceph_fuse, I could only get about 150MB/sec through a single connection.  After a bit of debugging and instrumenting the ceph-fuse code, I saw that the Luminous ceph-fuse gets 128kB writes (about 8000 calls/sec, leading to about 1000MB/sec write throughput), while the Mimic client sees 4kB writes (about 38k calls/sec, around 150MB/sec throughput). There seems to be an undocumented config option, "fuse_big_writes", which controls the "big_writes" fuse mount option.  In Luminous this defaults to true, while in Mimic it is false.  Once I added this option to ceph.conf, the performance of Mimic ceph-fuse improved back to the Luminous level.

It would perhaps be helpful to say something about this option in the docs.  The git commit seems to be f37f2ea10c8298fc222208777c74c8264b4b0cb6, the pull request mentions that the cause for removal of this option was the removal of the option in libfuse 3.0 (where it defaults to true).  Unfortunately CentOS packages fuse 2.9.2.  Thus an upgrade to Mimic on CentOS with ceph-fuse (without knowing about this undocumented option) leads to 4k writes in the fuse layer with very poor performance ...

Andras

_______________________________________________
ceph-users mailing list
ceph-users@lists.ceph.com
http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com

Reply via email to