[Postfixbuch-users] Steigende Zahl von DBERROR db4 locker

Andreas Winkelmann ml at awinkelmann.de
Mo Feb 5 18:57:16 CET 2007


On Monday 05 February 2007 17:59, hb wrote:

> >>> ich betreibe einen SLOX 4.1.
> >>> Seit einiger Zeit zeigen sich sporadisch Performanceprobleme.
> >>> Die Zustellung von Mails innerhalb der eigenen Domäne verzögert sich,
> >>> einzelne Clients können sich wegen erreichen des timeout nicht
> >>> einloggen. Erst nach 'rccyrus restart' normalisiert sich das System
> >>> wieder.
> >>>
> >>> In den logfiles finde ich dazu folgende Zeilen :
> >>>
> >>> Jan 29 09:43:21 servslox lmtpd[18207]: DBERROR db4: 203 lockers
> >>> Jan 29 09:44:45 servslox lmtpd[18207]: DBERROR db4: 203 lockers
> >>> Jan 29 09:46:04 servslox lmtpd[18207]: DBERROR db4: 204 lockers
> >>> Jan 29 09:46:48 servslox lmtpd[18207]: DBERROR db4: 207 lockers
> >>> Jan 29 09:47:39 servslox lmtpd[18207]: DBERROR db4: 209 lockers
> >>> Jan 29 09:49:19 servslox lmtpd[18207]: DBERROR db4: 212 lockers
> >>> Jan 29 09:50:14 servslox lmtpd[18207]: DBERROR db4: 214 lockers
> >>> Jan 29 09:52:44 servslox lmtpd[18207]: DBERROR db4: 217 lockers
> >>> Jan 29 09:53:11 servslox lmtpd[18207]: DBERROR db4: 218 lockers
> >>> Jan 29 09:54:18 servslox lmtpd[18207]: DBERROR db4: 220 lockers
> >>> -> hier rccyrus restart
> >>> Jan 29 09:54:36 servslox tls_prune[3900]: DBERROR db4: 4 lockers
> >>>
> >>> An die Meldung "DBERROR db4: 4 lockers"  hatte ich mich gewöhnt,
> >>> solange es bei 4 lockers blieb und nur ganz selten auftrat.
> >>> "normally not harmful"  fand ich beim googlen. So harmlos sieht nun
> >>> nicht mehr aus. Kann jemand mit dieser Meldung etwas anfangen?
> >>
> >> Versuch mal herauszubekommen, um welche Datenbank es sich handelt. lmtpd
> >> könnte die deliver.db sein. Evtl. mal in ein anderes Format konvertieren
> >> oder die Prozessanzahl vom lmtpd verringern (Das aber dann auf beiden
> >> Seiten Postfix und Cyrus-Imapd).
>
> da Format ist skiplist . 

Das oben sind Berkeley-DB Meldungen. Wenn die deliver.db skiplist ist, 
betreffen die Meldungen eine andere Datenbank. Versuch herauszufinden, welche 
Datenbanken bdb sind (annotation, mailbox, quota, seen, tls, ...). 

> Ich habe nun die Prozessanzahl auf 10 in der 
> master.cf

Und sind die Meldungen zurückgegangen?

> lmtp      unix  -       -       n       -       10      lmtp
> und in der cyrus.conf
>
> lmtpunix      cmd="lmtpd" listen="/var/spool/postfix/public/lmtp"
> prefork=0 maxchild=10
>
> begrenzt.
>
> > Und prüfe auch mal wie groß die Datenbanken sind. Evtl. räumst Du die
> > deliver.db nicht auf und sie ist so groß, dass der Zugriff so lange
> > dauert.
>
> wie groß darf sie sein, z.Zt. sind ca. 18.000 Einträge drin

Hmm, kommt wohl auf das System an. So allgemein lässt sich da IMHO nix zu 
sagen. Wenn ne Datenbank Probleme macht, prüf ob Du sie verkleinern oder in 
ein anderes Format umwandeln kannst. Je nach DB gibt es bevorzugte DB-Typen. 
Evtl. kann man auch über ein nosync nachdenken, das sollte man aber nur auf 
DBs anwenden, die keine besonders wichtigen Daten enthalten (deliver und 
tlscache z.B.).

Auch mal eine Überprüfung der DBs ist vielleicht nicht verkehrt.

> >> Lesenswert ist:
> >>
> >> http://cyrusimap.web.cmu.edu/twiki/bin/view/Cyrus/BerkeleyDbLockers

-- 
	Andreas



Mehr Informationen über die Mailingliste Postfixbuch-users