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

Re: Can slapd run with only one thread to operate (ITS#4842)

seuler.shi@gmail.com wrote:
> ------=_Part_100396_21317226.1171418508303
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> Content-Transfer-Encoding: 7bit
> Content-Disposition: inline
> What I want to do is to do operations in OpenLDAP server serially, not
> concurrency
> in the server. If the back database is configured to load all data in
> memory, then overhead
> of executing a operation is approximately equal the overhead of lock
> relevant overhead in
> database. So if requests are serially handled in openldap server, the lock
> subsystem can
> be remove from backend database.

The lock subsystem can only be removed if you only permit read operations. 
I've done a number of tests with the locks commented out of the backend; 
certainly it is faster, by about 20% for single threaded operation. But 
that's not much of a gain considering the reduction in utility.

Meanwhile, turning off threads means you cannot take advantage of 
multiple-processor systems, which is definitely a loss. All in all there is 
no benefit to pursuing this.

You can spend your time exploring as you wish, but none of us will spend any 
of our time retreading ground that we've already studied extensively.

> I just want to compare difference on performance under these two strategy.
> Although I use ./configure --without-threads, there are still two work
> threads,(info thread in
> gdb: there are two pthread_cond_wait records.)
> Would you give me some suggestion to reach the goal, serially handle the
> received requests
> in openldap server?
> Thanks a lot!
> 2007/2/14, Pierangelo Masarati <openldap-its@openldap.org>:
>> Slapd by design needs at least 2 threads to work.  That code is there
>> exactly to
>> avoid silly configurations with less than 2 threads.  You're free to
>> modify it,
>> but then you shouldn't complain.  Otherwise, if you don't want slapd to
>> use
>> threads you can compile it --without-threads (not --without--threads like
>> you
>> typed).
>> If you could tell us what your real problem is with threads, maybe we
>> wouldn't
>> both waste time in this rather pointless issue.

   -- Howard Chu
   Chief Architect, Symas Corp.  http://www.symas.com
   Director, Highland Sun        http://highlandsun.com/hyc
   Chief Architect, OpenLDAP     http://www.openldap.org/project/