Bug 2229669 - Listening thread blocked while autobind operation is in progress performance impact performance
Summary: Listening thread blocked while autobind operation is in progress performance ...
Keywords:
Status: POST
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: 389-ds-base
Version: 9.4
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Pierre Rogier
QA Contact: LDAP QA Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-08-07 09:36 UTC by Pierre Rogier
Modified: 2023-08-07 12:24 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github 389ds 389-ds-base issues 5883 0 None closed Remove connection mutex contention risk on autobind 2023-08-07 09:36:37 UTC
Red Hat Bugzilla 2224505 0 high MODIFIED Paged search impacts performance 2023-08-17 08:37:56 UTC
Red Hat Issue Tracker RHELPLAN-164714 0 None None None 2023-08-07 09:37:07 UTC

Description Pierre Rogier 2023-08-07 09:36:38 UTC
Description of problem:


Lock contention on the connection mutex between listening thread handling the network events and the worker threads handling the ldap operations sometime impacts the global server performance.

How reproducible:

Setup an instance (named standalone1) and having suffix dc=example,dc=com with default tests entries generated by dscreate"
Run: dsconf standalone1 config replace  nsslapd-accesslog-level=4
 (To turn off the log of standard operations and turn on the log of internal operations)
Run: ldclt -p 389  -e esearch -b "dc=example,dc=com" -f "cn=demo"
In another windows run a loop on:
ldapsearch -Q -LLL -Y EXTERNAL -H ldapi://%2fvar%2frun%2fslapd-standalone1.socket -b dc=example,dc=com cn=demo

Actual results:

Then you should see the ldclt performance dropping significantly:
ldclt[416127]: Average rate: 14371.20/thr  (14371.20/sec), total: 143712
ldclt[416127]: Average rate: 14527.00/thr  (14527.00/sec), total: 145270
ldclt[416127]: Average rate: 8274.10/thr  (8274.10/sec), total:  82741
ldclt[416127]: Average rate: 4551.20/thr  (4551.20/sec), total:  45512
ldclt[416127]: Average rate: 4191.30/thr  (4191.30/sec), total:  41913

Expected results:

Should not have a significant performance drop.


Additional info:

Problem is very similar to the BZ 2224505 issue but when doing a 
 SASL bind with EXTERNAL method instead of a paged result search and was first detected during code review when looking for other piece of code that may have the same contention issue. But the impact is much less serious: usually not perceptible with standard default configuration. (I needed to slow the internal operations (by enabling the log of these operation) to see clearly the performance impact.


Note You need to log in before you can comment on or make changes to this bug.