
Zitat von Christian Bricart christian@bricart.de:
MailingListe wrote:
Zitat von Christian Bricart christian@bricart.de:
Tach zusammen,
erstmal zum Verständnis:
ist es korrekt, dass es jeweils genau einen proxymap Prozess für jede in der main.cf referenenzierten "proxy:blubber:...." gibt? d.h Änderungen in der master.cf unter MaxProcs für proxy werden ignoriert..?
Und jetzt zur eigentlichen Frage:
Hier laufen im moment insgesamt 10 proxymap-Prozesse und jeder steht im top mit CPU-Werten zwischen 10% und 20% (das ist ne 2-vCPU-VM auf ESX)
irgendwie ist mein System also zu 90% mit proxymap-Prozessen beschäftigt
und das alles auf CPU... was zum Geier muss der abfragende Client bei ner SQL-Abfrage denn so gross "rechnen".. das macht doch der DB-Server der gefragt wird..
Proxymap sollte nahezu keinerlei CPU-Zeit verbrauchen da er nur als einfacher Multiplexer für die anderen Prozesse arbeitet. Allerdings gibt es Probleme wenn die Datenbank/LDAP Abfragen zu lange dauern :
The proxymap(8) server provides service to multiple clients, and must therefore not be used for tables that have high-latency lookups.
wie ich in dem anderen Thread schon schrieb hab ich keine Query über 3ms auf der DB... oder ist das etwa schon "high-latency"..? ;-)
Es kommt drauf an ....
Wenn z.B. 300 smtpd jeweils 5 lookups pro Mail-Transaktion benötigen und es stehen nur 10 proxymap zur Verfügung ergibt das
300/10 * 5 * 3ms = 450 ms
also ca. 0,5 sec pro Mailtransaktion nur für die Lookups.
Interessant wären folgende Fragen : - Anzahl der Datenbankanfragen pro Mailtransaktion - Dauer der längsten DB-Anfrage unter Belastung und über das Netzwerk - Anzahl der aktiven "smtpd" und anderer relevanter Prozesse (cleanup etc.)
Der erste Ansatz sollte immer sein die Anzahl der Lookups pro Mailtransaktion klein zu halten, der zweite diese Abfragen so effizient wie möglich zu gestalten und dann das ganze über ein passende Anzahl an "proxymap" Servern zu verteilen.
In diesem Falle die Abfragen beschleunigen (Index o.ä. verwenden) oder die Anzahl der Proxymap Server hochsetzten bzw. die Anzahl der Clientprozesse senken. Bei sehr vielen Abfragen pro Zeiteinheit den "max_use" parameter zu erhöhen um die Anzahl der Forks zu senken.
in der master.cf steht in der proxy-Zeile bei max_use: "-" das heisst doch, dass die max Anzahl von der eingestellten max_use bei smtpd beschränkt wird, oder?
"max_use" wird in main.cf definiert... Der default ist 100
Gruß
Andreas