Issue 8702 - SLAPD_MAX_DAEMON_THREADS is too small
Summary: SLAPD_MAX_DAEMON_THREADS is too small
Status: VERIFIED FIXED
Alias: None
Product: OpenLDAP
Classification: Unclassified
Component: slapd (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: 2.5.0
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-07-28 16:56 UTC by Howard Chu
Modified: 2020-10-14 21:11 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description Howard Chu 2017-07-28 16:56:06 UTC
Full_Name: Howard Chu
Version: HEAD
OS: Solaris 11.3
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (31.216.236.133)
Submitted by: hyc


Was benchmarking on an Oracle M8 box with 2048 SPARC VCPUs. With 1024 slapd
threads configured, we needed 64 listener threads and 64 threadqueues to
eliminate slapd bottlenecks, but the current default in daemon.c only allows up
to 16 listener threads.

It's a #ifndef so easily overridable at compile time, but 16 is probably too
small in this age of processors with more and more cores.
Comment 1 Quanah Gibson-Mount 2017-08-01 19:10:21 UTC
--On Friday, July 28, 2017 5:56 PM +0000 hyc@openldap.org wrote:

> Was benchmarking on an Oracle M8 box with 2048 SPARC VCPUs. With 1024
> slapd threads configured, we needed 64 listener threads and 64
> threadqueues to eliminate slapd bottlenecks, but the current default in
> daemon.c only allows up to 16 listener threads.
>
> It's a #ifndef so easily overridable at compile time, but 16 is probably
> too small in this age of processors with more and more cores.

It would be nice if instead of something hard coded, it was instead 
configurable by switching its usage to dynamically allocated arrays.

--Quanah


--

Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>


Comment 2 Quanah Gibson-Mount 2020-08-18 22:31:35 UTC
Fixed as a part of ITS#7926

Commits: 
  • 2f94318f 
by Howard Chu at 2020-08-18T22:00:58+01:00 
ITS#7926 support multiple config cleanup functions per op

Prep for main changes


  • 9d2f1530 
by Howard Chu at 2020-08-18T22:37:50+01:00 
ITS#7926 dynamic changes to olcListenerThreads

Reallocates sockets from old to new listener threads