[Postfixbuch-users] Newsletter-Versand / Performance
Thomas Klein
mailinglist-postfixbuch at online.de
Fr Feb 12 00:18:02 CET 2010
Hallo zusammen,
wir haben kürzlich bei einem Kunden auf den Mailserver eine Tochterfirma
angeschlossen, die gelegentlich Newsletter versendet. Die Newsletter
werden an ca. 2600 Empfäger versandt mit dem Programm "Supermailer",
damit kann man wohl massenweise personalisierte Mails rausschicken.
Grundsätzlich funktioniert es, jedoch beklagt sich die Versenderin über
die Performance unseres Mailservers. Früher hat sie das Zeug über ihren
Provider rausgehauen, da dauerte das knapp 10 Minuten bis alles
rausgehauen war.
Nun dauert es angeblich über eine Stunde über unseren Postfix-Server.
Der Server abgehende SMTP Traffic ist per QoS auf 2 MBit limitiert
gewesen, ich habe das nun erstmal auf 5 MBit erhöht. Die Anbindung des
versendenden Clients an den Postfix-Server stellt sicher nicht den
Flaschenhals dar, das läuft im LAN ab.
Generell läuft Amavisd-new mit $max_servers = 10 und als
smtpd_proxy_filter. Postfix ist mit dem Defaultwert von maxproc 100
ausgestattet. Das ganze ist auf einer Maschine virtualisiert mit XEN mit
2 zugewiesenen Kernen (Xeon E5504, 2.0 GHZ) und 2 GB RAM auf Debian
5.0.3 i686. Zum Zeitpunkt des Versands ist keine wirklich große CPU / IO
HDD-Last zu verzeichnen. Auf der VM läuft ausser dem Mailserver sonst
nichts weiter.
Ich schätze mal, dass dir Postfix-Prozesse bei dieser Menge bzw.
Versende-Frequenz zu knapp sein werden - ich würde mal auf maxproc 250
gehen? Ich gehe auch mal davon aus, dass der amavis-check die Zustellung
stark verzögert. Gibt es eine Möglichkeit, dass ich den amavis-check in
diesem Fall auslasse (vielleicht festgemacht an der Absenderadresse oder
der client-IP?) früher hatte ich das mal so gelöst, dass ich nur die
gewünschten Domains von amavis habe checken lassen, die ausgehenden
Mails wurden nicht überprüft, das ist aber mit smtpd_proxy_filter in der
Form wohl gestorben. Gibt es denn trotzdem eine ähnliche Möglichkeit
unter Beibehaltung von smtpd_proxy_filter?
Ich würde mir mal gerne im Moment des Versands die Inanspruchnahme der
postfix-Prozesse ansehen. Gibt es eine Möglichkeit, das direkt online
nachzuvollziehen, wieviele Prozesse in dem Moment verwendet werden?
Hier mal noch meine postconf -n:
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
biff = no
config_directory = /etc/postfix
header_checks = pcre:/etc/postfix/header_checks
mailbox_command =
mailbox_size_limit = 0
message_size_limit = 20000000
mydestination = $mydomains, localhost.$mydomain
myhostname = mx.con-tax.de
mynetworks = 127.0.0.0/8, 192.168.92.2, 172.16.8.3, 172.20.4.2, 172.18.3.1
myorigin = $mydomain
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
recipient_delimiter = +
relay_domains = meinedomains.de
relay_recipient_maps = hash:/etc/postfix/relay_recipients
smtpd_banner = $myhostname ESMTP
smtpd_helo_required = yes
smtpd_proxy_timeout = 300s
smtpd_recipient_restrictions = reject_non_fqdn_sender
reject_non_fqdn_recipient permit_mynetworks
permit_sasl_authenticated reject_unauth_destination
reject_unlisted_recipient check_sender_access
hash:/etc/postfix/pub_sender_access_permit check_client_access
hash:/etc/postfix/pub_client_access_permit reject_invalid_hostname
reject_non_fqdn_hostname check_sender_access
hash:/etc/postfix/pub_sender_access_reject check_sender_access
hash:/etc/postfix/sender_access check_client_access
pcre:/etc/postfix/pub_client_access_reject_pcre
reject_unknown_sender_domain check_policy_service
inet:127.0.0.1:12525 warn_if_reject check_client_access
pcre:/etc/postfix/dynip warn_if_reject reject_unknown_client
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain =
smtpd_sasl_security_options = noanonymous
transport_maps = hash:/etc/postfix/transport
transport_retry_time = 180
unknown_client_reject_code = 550
Würde mich freuen wenn ihr ein paar Tips für mich habt.
Vielen Dank schomal & Gruss
Thomas
Mehr Informationen über die Mailingliste Postfixbuch-users