When running a Policy Server, this one reports the following message:
Execution time exceeded threshold.
User Directory on Active Directory;
The "Execution time exceeded Threshold" is an indication of slower running transactions on the Policy Server side.
The Policy Server is configured to report these warnings by default every 5 seconds (this can be changed in the registry, please see link for more details (1).
To find out the reason behind a transaction taking time to complete, enable the full log and traces (Profiler) on the Policy Server to get the details of the slow transactions and to see what operation is a culprit.
In the sample below, it looks like the backend Active Directory User Store took time to reply back to the Policy Server which is what caused the transaction delay and resulted of the Execution time threshold messages to be printed.
smps.log :
[25818/139869457184512][Mon Jun 22 2020 04:47:02][SmAzMapping.cpp:2617][INFO][sm-log-00000] Execution time exceeded threshold. (CSmAzMapping::SmValLocateUserEntry, 5072, 5000, agent=samlsp:<sp> client= server= resource=/ action=visit user=)
smtracedefault.log:
[][25818][139869457184512][06/22/2020][04:46:57][04:46:57.892][][][][Dequeuing a Normal Priority message, from IP 10.0.0.1 with Port No 54540. Current count is 0][][][][ThreadPool::Run][CServer.cpp:1514]
[][25818][139869457184512][06/22/2020][04:46:57][04:46:57.898][][][][Starting DsServerCheckerThread][][][][CSmDsLdapConnMgr::StartCheck][SmDsLdapConnMgr.cpp:1099]
[][25818][139869457184512][06/22/2020][04:47:01][04:47:01.899][][][][Binding 'dir' connection to LDAP server bank #1: <ldap_user_store>.example.com:636][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1326]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.933][][][][Binding 'dir' connection to LDAP server bank #1: <ldap_user_store>.example.com:636][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1326]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.948][][][][Using Active Directory type][][][][SmldapPs_GetDirVersionPrivate][SmLdapPs.cpp:1660]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.948][][][][Binding 'user' connection to LDAP server bank #1: <ldap_user_store>.example.com:636][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1456]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.962][][][][Unable to retrieve a UserObjectFilter attribute for UserDirectory <ldap_user_store>][][][][CSmAzUserDirAttributesCache::Add][SmAzUserDirAttributesCache.cpp:568]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.962][][][][Unable to retrieve a UserObjectClass attribute for UserDirectory <ldap_user_store>][][][][CSmAzUserDirAttributesCache::Add][SmAzUserDirAttributesCache.cpp:580]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.963][][][][Searching for 'Property' object with a search key in one domain][][][][CSmObjProvider::Search][SmObjProvider.cpp:676]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][Search failed][][][][CSmObjProvider::Search][SmObjProvider.cpp:717][Object Not Found]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][attr pwdLastSet][][][][AddAttrValue][SmDsLdapProvider.cpp:1758]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][attr lockoutTime][][][][AddAttrValue][SmDsLdapProvider.cpp:1758]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][attr accountExpires][][][][AddAttrValue][SmDsLdapProvider.cpp:1758]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][attr userAccountControl][][][][AddAttrValue][SmDsLdapProvider.cpp:1758]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][attr objectclass][][][][AddAttrValue][SmDsLdapProvider.cpp:1758]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.964][][][][Ldap Search callout succeeds.][][][][CSmDsLdapProvider::Search][SmDsLdapProvider.cpp:2365][][][][][(Search) Retrieving attributes for: 'CN=<user>,OU=Users,DC=example,DC=com, DC=com', Filter: 'objectclass=*'. Status: 1 matching objects.]
[][25818][139869457184512][06/22/2020][04:47:02][04:47:02.967][][][][LogMessage:INFO:[sm-log-00000] Execution time exceeded threshold.(CSmAzMapping::SmValLocateUserEntry, 5072, 5000, agent=samlsp:<sp> client= server= resource=/ action=visit user=)][][][][][SmAzMapping.cpp:2617]
[s1/r2][25818][139869457184512][06/22/2020][04:47:02][04:47:02.970][samlsp:<sp>][][SiteMinder|Policy Server|myhost 55441|][** Status: Validated. ][][][][CSm_Auth_Message::SendReply][Sm_Auth_Message.cpp:4902]
Running the Policy Server Trace Analyzer, the report shows other transaction taking time (2).
smtracedefault.log-TransReport.pdf
11.1. Trans : Time Taken :6 sec
__[06/22/2020][04:46:57.920][25818][139868898326272][ Look up a cached object.][][04:46:57][][][][][][][CSmObjCache::Lookup][SmObjCache.cpp:779]
__[06/22/2020][04:47:01.930][25818][139868898326272][ Binding 'dir' connection to LDAP server bank #2: <ldap_user_store>:636][][04:47:01][][][][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1326]
__[06/22/2020][04:47:02.310][25818][139868898326272][ Processing Attribute [Property = SM_AUTHENTICATIONLEVEL][Trim Property = SM_AUTHENTICATIONLEVEL] [Separator =^]][][04:47:02][][][][][][][GetPropIndex][SmAuthUser.cpp:2295]
__[06/22/2020][04:47:03.316][25818][139868898326272][ Processing Attribute [Property = UUID] [Trim Property = UUID][Separator = ^]][][04:47:03][][][][][][][GetPropIndex][SmAuthUser.cpp:2295]
__[06/22/2020][04:47:03.374][25818][139868898326272][ <Custom> SAML 2.0 Assertion Plugin: Done customizeAssertion][][04:47:03][][][][][Done customizeAssertion][][ServerTrace][SmAuthUser.cpp:782]
__[06/22/2020][04:47:04.349][25818][139868898326272][ IsOk? Yes, Return 0 responses with 1 attributes added.][][04:47:04][][][][][][][CSmAz::IsOk][SmAuthorization.cpp:1912]
11.2. Trans : Time Taken :6 sec
__[06/22/2020][04:46:57.921][25818][139869446686464][ Look up a cached object.][][04:46:57][][][][][][][CSmObjCache::Lookup][SmObjCache.cpp:779]
__[06/22/2020][04:47:01.966][25818][139869446686464][ Binding 'dir' connection to LDAP server bank #3: <ldap_user_store>:636][][04:47:01][][][][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1326]
__[06/22/2020][04:47:02.310][25818][139869446686464][ Processing Attribute [Property = SM_AUTHENTICATIONLEVEL][Trim Property = SM_AUTHENTICATIONLEVEL] [Separator =^]][][04:47:02][][][][][][][GetPropIndex][SmAuthUser.cpp:2295]
__[06/22/2020][04:47:03.317][25818][139869446686464][ Processing Attribute [Property = UUID] [Trim Property = UUID][Separator = ^]][][04:47:03][][][][][][][GetPropIndex][SmAuthUser.cpp:2295]
__[06/22/2020][04:47:03.376][25818][139869446686464][ <Custom> SAML 2.0 Assertion Plugin: Done customizeAssertion][][04:47:03][][][][][Done customizeAssertion][][ServerTrace][SmAuthUser.cpp:782]
__[06/22/2020][04:47:04.338][25818][139869446686464][ IsOk? Yes, Return 0 responses with 1 attributes added.][][04:47:04][][][][][][][CSmAz::IsOk][SmAuthorization.cpp:1912]
11.3. Trans : Time Taken :5 sec
__[06/22/2020][04:46:57.937][25818][139869465577216][ Look up a cached object.][][04:46:57][][][][][][][CSmObjCache::Lookup][SmObjCache.cpp:779]
__[06/22/2020][04:47:02.044][25818][139869465577216][ Using LDAP server bank #2][][04:47:02][][][][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1523]
__[06/22/2020][04:47:02.044][25818][139869465577216][ Look up a cached object.][][04:47:02][][][][][][][CSmObjCache::Lookup][SmObjCache.cpp:779]
__[06/22/2020][04:47:03.020][25818][139869465577216][ Binding 'dir' connection to LDAP server bank #4: <ldap_user_store>:636][][04:47:03][][][][][][][CSmDsLdapProvider::InitDir][SmDsLdapProvider.cpp:1326]
1.5. SrcLine Table ProcessRequest
From SmObjCache.cpp:779 - Look up a cached object.
To SmDsLdapProvider.cpp:1523 - Using LDAP server bank #1
av time: 50,493 ms (min: 0 ms, max: 4118 ms),
From SmObjCache.cpp:779 - Look up a cached object.
To SmDsLdapProvider.cpp:1326 - Binding 'dir' connection to LDAP server bank #2: <ldap_user_store>.example.com:636
Called 6 Times av time: 2496,167 ms (min: 918 ms, max: 4081 ms),
From SmDsLdapConnMgr.cpp:1099 - Starting DsServerCheckerThread
To SmDsLdapProvider.cpp:1326 - Binding 'dir' connection to LDAP server bank #1: <ldap_user_store>.example.com:636
Called 2 Times av time: 2501,000 ms (min: 1001 ms, max: 4001 ms),
Investigate the Active Directory performances to solve this issue.