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

Antw: Re: delete members in big groups with back_mdb


Just want to know: How does sortvals work? Are entries sorted in RAM only, or are the database entries (being stored) sorted?
In the second case the delay (insert instead of append) would be explainable. For the first case there is no need to use an array implementation for the attributes: A balanced (search) tree would probably yield better insert performance.

Is there a reason not to combine a search tree implementation in RAM with an array implementation in the database?


>>> Marco Schirrmeister <marco@schirrmeister.net> schrieb am 17.07.2013 um 11:32 in
Nachricht <51E33731-682C-4A55-8E1A-4F0D12588B61@schirrmeister.net>:

> On Jul 17, 2013, at 1:08 AM, Howard Chu <hyc@symas.com> wrote:
>> Marco Schirrmeister wrote:
>>> Hi,
>>> I have a problem with mdb and modify operations on very large groups. 
> Specifically deleting members from those groups.
>>> Removing 10 members from a group with 25000 members takes 23 seconds. Which 
> also means, all other clients that want to do something hang.
>>> Deleting a user from multiple big groups takes minutes before it finishes.
>>> Adding members to a large group is quick though.
>>> When this delete is running, the cpu goes also up to 100%.
>>> It looks like it has to do with the index that I have on uniqueMember.
>>> If I remove the index on uniqueMember, the delete of members in big groups 
> is fast.
>>> System details are
>>> CentOS 6 64bit
>>> OpenLDAP 2.4.35
>>> slapd.conf below
>>> Is this something normal/exptected or is it maybe a bug?
>> Read slapd.conf(5) manpage, sortvals keyword.
> Thanks for the hint Howard.
> Deleting members from a big group on the test server is now fast with 
> sortvals.
> Adding of members is a very little slower (20-30ms) compared to the adding 
> without sortvals.
> I will see how it goes on the production environment with the real workload.
> Thanks again
> Marco