[Samba] ad dc performance issues

Hubert Kröss hubert.kroess at gvcc.net
Wed Sep 18 15:22:22 UTC 2024


Hi

We have been experiencing performance issues with the 4 Samba4 (currently installed version 4.20.4) AD DC domain controllers for a while. We have tested various options, including hidden ones that were not documented. The LDB indices help a bit, but typically on Mondays, when the most customers log in, there is 100% CPU usage by one LDAP process and high RPC process load.
The domain controller appears to freeze for a period of time and cannot handle requests. Even logging in via SSH with the root user (which authenticates through the local passwd) is not possible during this time. The server eventually recovers after a while, but of course, this has restrictive effects on the entire production environment.
We believe the issue lies with the LDAP processes, which, it seems, do not scale very well. We have till 16 CPU cores and plenty of RAM on each system. By starting with prefork children=64, we spawn some subprocesses, but this didn’t really solve the performance issue either.
The underlying operating system is Debian 11, and the ulimits (open files) don’t seem to be a problem because otherwise dmesg would show kernel messages. We also do not have any I/O, RAM, or CPU issues.
Our environment comprises around 4000-5000 clients spread across 4 domain controllers. Most of the clients use Samba file server services and many third-party applications that authenticate through LDAP and via saslauthd on Active Directory.
our smb.conf:

[global]
        netbios name = ###
        realm = ###
        workgroup = ###
        server role = active directory domain controller
        idmap_ldb:use rfc2307 = yes
        comment =
        template homedir = /home/%U
        template shell = /bin/bash
        ldap server require strong auth = No
        # WICHTIG: Radius ntlm_auth
        ntlm auth = Yes
        log level = auth_json_audit:0 auth_audit:3
        #ldb:3@/var/log/ldb.log
        logging = syslog
        password hash gpg key ids = "xyz"
        dns forwarder = a.b.c.d
        dns update command = /usr/local/samba/sbin/samba_dnsupdate --use-samba-tool
        logon script = login.bat
        panic action = /opt/samba/bin/panicRestartSamba.sh
        dns zone transfer clients allow = aaa bbbb
        prefork children = 64
        server min protocol = SMB2_10

        dbindex:objectClass = yes
        dbindex:uid = yes
        dbindex:uidNumber = yes
        dbindex:gidNumber = yes
        dbindex:memberUid = yes
        dbindex:sAMAccountName = yes

        ldb:max-cachesize = 10000000
        ldap timeout = 2
        ldap replication sleep = 1000

Are there any performance parameters for LDB databases or an alternative to LDB for better scalability?

Thanks for any help

Hubert


---

Hubert Kröss

Systeme | sistemi

Südtiroler Gemeindenverband Genossenschaft | Consorzio dei Comuni della Provincia di Bolzano Società Cooperativa
I – 39100 Bozen | Kanonikus-Michael-Gamper-Straße 10 | I – 39100 Bolzano | via Canonico Michael Gamper 10
T. - +39 0471 304 634
info at gvcc.net | https://www.gvcc.net

Gemäß und für die Zwecke der Artikel 12, 13 und 14 der EU-Verordnung 679/2016 finden Sie die Informationen zum Schutz personenbezogener Daten unter folgendem Link: www.gvcc.net/de/Service/Web/Datenschutz
Ai sensi e per gli effetti degli artt. 12, 13 e 14 del Regolamento UE 679/2016 l’informativa relativa alla protezione dei dati personali è reperibile al seguente link: www.gvcc.net/it/Service/Web/Privacy<http://www.gvcc.net/it/Service/Web/Privacy>


More information about the samba mailing list