Re: [ceph-users] Is rados_write_op_* any more efficient than issuing the commands individually?

2016-09-07 Thread Josh Durgin

On 09/06/2016 10:16 PM, Dan Jakubiec wrote:

Hello, I need to issue the following commands on millions of objects:

rados_write_full(oid1, ...)
rados_setxattr(oid1, "attr1", ...)
rados_setxattr(oid1, "attr2", ...)


Would it make it any faster if I combined all 3 of these into a single
rados_write_op and issued them "together" as a single call?

My current application doesn't really care much about the atomicity, but
maximizing our write throughput is quite important.

Does rados_write_op save any roundtrips to the OSD or have any other
efficiency gains?


Yes, individual calls will send one message per call, adding more round
trips and overhead, whereas bundling changes in a rados_write_op will
only send one message. You can see this in the number of MOSDOp
messages shown with 'debug ms = 1' on the client.

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


[ceph-users] Is rados_write_op_* any more efficient than issuing the commands individually?

2016-09-06 Thread Dan Jakubiec
Hello, I need to issue the following commands on millions of objects:

rados_write_full(oid1, ...)
rados_setxattr(oid1, "attr1", ...)
rados_setxattr(oid1, "attr2", ...)

Would it make it any faster if I combined all 3 of these into a single 
rados_write_op and issued them "together" as a single call?  

My current application doesn't really care much about the atomicity, but 
maximizing our write throughput is quite important.

Does rados_write_op save any roundtrips to the OSD or have any other efficiency 
gains?

Thanks,

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