PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : OR-verknüpfte LDAP-Abfrage liefert unter Systemlast kein Ergebniss



Eddie
24.06.04, 15:25
Hallo,

habe eine 2GHz Maschine als Mailserver mit Postfix2 und Openldap 2.0.1 am laufen. Die Datenbank dient der Addressen Umsetzung:


ldapaliases_server_host = localhost
ldapaliases_server_port = 389
ldapaliases_timeout = 30
ldapaliases_bind = no
ldapaliases_search_base = o=danet,c=de
ldapaliases_dereference = 3
ldapaliases_query_filter = (|(mail=%s)(mailalternateaddress=%s))
ldapaliases_result_attribute = mailForwardingAddress
ldapaliases_lookup_wildcards = no


Das Ganze läuft so ganz gut, nur unter schon geringer Systemlast wird die Anfrage nicht beantwortet. Der Postfix bekommt dafür ein Timeout.
Bei der Analyse ist es aufgefallen, dass von LDAP nur die OR (|)-Verknüpfte Anfragen unter Systemlast nicht bentwortet werden können. Ändert man das query zu einer AND-Abfrage:
(&(mail=%s)(mailalternateaddress=%s))
bekommt mann sofort, auch unter sehr hohen Systemlast eine Antwort.

Weis jemand weswegen es da bei dem OpenLDAP klemmt und wie man es fixen könnte?

mamue
24.06.04, 22:55
Die 2.0.x von OpenLDAP fand ich ziemlich langsam, Version 2.1 war da erheblich fixer, vielleicht ist es auch einfach der Umstieg vom ldbm auf das bdb Database backend.
Ansonsten könntest Du versuchen, die Anzahl der Threads in der slapd zu erhöhen.

mamue