Hello @Tom Andersen ,
Thank you for posting here.
We can troubleshoot as below.
1.We can enable netlogon.log on the DCs (or servers) with Event 5816.
Enabling
Via registry
a) Start the Registry editor,
b) Expand to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters.
c) Under “Parameters”, if there is a registry value named “DBFlag” with type Reg_SZ, please delete it at first.
d) Create a REG_DWORD value named “DBFlag”, set its value to be 2080FFFF (in hexadecimal).
e) Collect the log in %systemroot%\debug\netlogon.log
Via command
nltest /dbflag:0x2080ffff
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v DBFlag /t Reg_Dword /d 0x2080ffff
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters" /v MaximumLogFileSize /t Reg_Dword /d 0x6400000 /
Log size, in bytes
Disabling
a) To disable debug logging, change the data value to 0x0 in the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DBFlag
b) Quit Regedt32.
c) Stop Net Logon, and then restart Net Logon.
2.Then if the event 5816 reproduces, we can check if there is message like this in netlogon.log file.
6/3 14:17:43 [CRITICAL] [123]FakeDomain: NlpUserValidateHigher: Can't allocate Client API slot.
3.If we can see such message "Can't allocate Client API slot", it is the issue related to "MaxConcurrentAPI bottleneck reached".
4.We can create a new DWORD value named “MaxConcurrentAPI” (no quotes).
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
DWORD Value:MaxConcurrentApi
Double click the MaxConcurrentApi value and set the data to the desired value (based on the tuning performed, in this case, I suggest we can set the value ---20, 30 or larger) in decimal.
Valid range reminder:
i. Windows 2000: 1-10
ii. Windows Server XP, 2003, 2003 R2: 1-10
iii. Windows Server Vista, 7, 2008, 2008 R2: 1-150 (certain conditions apply)
iv. Windows Server 2012 and above: 1-150 (maximum supported) ----Please see the important note in the default and maximum threads table!
5.If we set value 20, and check whether the issue persists, if the issue persists, we can set value 30.
If we set value 30, and check whether the issue persists, if the issue persists, we can set value 40 or more.
At last, we can check if it helps through change the registry value larger.
Tip:
Strictly speaking, we should use performance monitor to calculate the above value, but this is a bit difficult and complicated. We can change the value of the registry and check if it helps.
For more information, we can refer to the link below.
Quick Reference: Troubleshooting, Diagnosing, and Tuning MaxConcurrentApi Issues
https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/quick-reference-troubleshooting-diagnosing-and-tuning/ba-p/256868
Hope the information above is helpful. If anything is unclear, please feel free to let us know.
Best Regards,
Daisy Zhou