Full_Name: Derek Zhou Version: 2.4 git HEAD OS: linux URL: Submission from: (NULL) (116.236.169.22)
the mdb backend does not really support parallelism in rw transactions, so add/delete are serialized by a mutex inside the mdb backend as small transactions. In my patch, all add/delete are put in a queue and executed in a dedicated worker thread. It may seem pointless at first, but by doing them all in the same thread, now I can merge concurrent ops from different clients into larger transactions, and reduce the number of expensive txn_commit calls (fsyncs).
http://proxy.shannon-data.com/~derek/patches/openldap/0001-add-rw_worker-in-... http://proxy.shannon-data.com/~derek/patches/openldap/0002-add-config-variab...
Legal notice ============
The attached patch file is derived from OpenLDAP Software. All of the modifications to OpenLDAP Software represented in the following patch(es) were developed by Derek Zhou derek@shannon-data.com. I have not assigned rights and/or interest in this work to any party.
I, Derek Zhou, hereby place the following modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.