[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#8943) speed up parallel add/delete



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-back-mdb-to-merge-concurrent-ops-in.patch
http://proxy.shannon-data.com/~derek/patches/openldap/0002-add-config-variable-for-txn_merge_timeout.patch

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.