[lug-ld] Postfix

Michael Diederich michael at md-d.org
Sa Apr 16 15:43:19 CEST 2011


Hallo Christian,

danke für die Antwort ;)

2011/4/16 Christian Boltz <lug-ld at cboltz.de>:

> Am Freitag, 15. April 2011 schrieb Michael Diederich:
>> Im Moment hoffe ich auf etwas Hilfe ;) Ich habe ein Debian lenny
>> 2.6.29 mit postfix 2.5.5-1.1, welches von einem Dutzend Server
>> E-Mails annehmen und weiterleiten soll. Das hat bisher auch gut
>> funktioniert, aber heute morgen sollten ein paar E-Mails mehr als
> Definiere bitte "ein paar" ;-)

Anstatt 50 hätten es 1000 sein sollen. Es war ein Newsletter an alle
angemeldeten Benutzer.

>> sonst verschickt werden und die Kiste hatte eine load von >30 und da
>> half nur noch reboot :(
> Postfix selbst ist ziemlich anspruchslos, was die Serverauslastung
> angeht. Daher wundert mich der Load von 30...

Ja, der Server ist virtualisiert und hätte 2GB zur Verfügung, die
allerdings auch gebraucht werden (Anwendung, Datenbank usw.)

> Hast Du mal nachgesehen, welche Prozesse die Last verursachen ("top")?

Unter top war kein Prozess zu identifizieren. Der Apache war immer mal
dabei, aber auch wenn ich mir die Prozesse mit ps -A angeschaut habe,
war dort keiner dabei der CPU-Zeit verbrauchte. top zeigt da auch 99%
idle an, wenn ich das richtig gesehen habe.

>> Apr 15 10:26:56 apeliotes postfix/smtp[3430]: F1FBD174023:
>> to=<info at .....de>, relay=mxlb.ispgateway.de[80.67.18.126]:25,
>> delay=997, delays=997/0.11/0.32/0.17, dsn=2.0.0, status=sent (250 OK
>> id=1QAeMi-0006e7-2S)
>
> delays=a/b/c/d" where a=time before queue manager, including message
> transmission; b=time in queue manager; c=connection setup time including
> DNS, HELO and TLS; d=message transmission time.
>
> Die Mails hängen also ewig vor dem queue manager rum.
> Du hast nicht zufällig Amavis o. ä. im Einsatz?

Nein, kein Virenscanner. Amavis ist auch nicht installiert.

>> Die delays sehen irgendwie nicht gesund aus, finde ich :(
>
> Mail ist kein instant messaging ;-)

Schon klar, aber beim googlen habe ich immer delay von <10 gesehen.

>> postconf -d
>
> postconf -n ist interessanter - -d liefert nur die Default-Config, die
> aber nicht zwingend etwas mit Deiner Config zu tun haben muss ;-)

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
default_process_limit = 5
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = HIER_STEHEN_LOKALE_DOMAINNAMEN (5)
myhostname = HIER_STEHT_DER_HOSTNAME
mynetworks = 127.0.0.1 UND_EINE_WEITERE_LIST_ERLAUBTER_IPS
mynetworks_style = host
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
smtpd_client_message_rate_limit = 10
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache

Auch hier sieht man wieder meinen Versuch, die eingehenden Nachrichten
etwas zu drossseln: smtpd_client_message_rate_limit = 10

>> /etc/postfix/master.cf
>> smtp      inet  n       -       -       -        5      smtpd
> Sieht soweit gut aus, aber wie gesagt: Ich vermute den Fehler an anderer
> Stelle - mein Tipp ist Amavis (-> $max_servers in /etc/amavisd.conf
> reduzieren)
>
> Falls Dich diese Infos nicht weiterbringen, wären folgende Dinge
> hilfreich:
> - Ausgabe von postconf -n

s.o.

> - komplette master.cf

#
# Postfix master process configuration file.  For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# Do not forget to execute "postfix reload" after editing this file.
#
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -        5      smtpd
#submission inet n       -       -       -       -       smtpd
#  -o smtpd_tls_security_level=encrypt
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#smtps     inet  n       -       -       -       -       smtpd
#  -o smtpd_tls_wrappermode=yes
#  -o smtpd_sasl_auth_enable=yes
#  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
#628      inet  n       -       -       -       -       qmqpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
#qmgr     fifo  n       -       -       300     1       oqmgr
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       -       -       -       smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay     unix  -       -       -       -       -       smtp
        -o smtp_fallback_relay=
#       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
retry     unix  -       -       -       -       -       error
discard   unix  -       -       -       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       -       -       -       lmtp
anvil     unix  -       -       -       -       1       anvil
scache    unix  -       -       -       -       1       scache
#
# ====================================================================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent.  See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ====================================================================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}


> - vollständiger Logauszug (ggf. anonymisiert)

Welches Log hättest du denn gerne? syslog? hier mal mail.info direkt
nach einem Neustart bevor ich den Dienst wieder beendet habe, weil die
Kiste sonst nicht mehr erreichbar war:

Apr 15 15:43:25 apeliotes postfix/master[3417]: daemon started --
version 2.5.5, configuration /etc/postfix
Apr 15 15:43:30 apeliotes postfix/pickup[3429]: 4F57A7F40FF: uid=106 from=<otrs>
Apr 15 15:43:30 apeliotes postfix/cleanup[3432]: 4F57A7F40FF:
message-id=<20110415134330.4F57A7F40FF at ....>
Apr 15 15:43:31 apeliotes postfix/qmgr[3430]: 05F4C7F40DF:
from=<....>, size=1092, nrcpt=1 (queue active)
Apr 15 15:43:33 apeliotes postfix/qmgr[3430]: 287747F40D9:
from=<....>, size=1097, nrcpt=1 (queue active)
Apr 15 15:43:33 apeliotes postfix/qmgr[3430]: 764EE7F40FE:
from=<....>, size=1092, nrcpt=1 (queue active)
Apr 15 15:43:34 apeliotes postfix/smtp[3462]: 287747F40D9:
to=<michael.diederich at ....>,
relay=ASPMX.L.GOOGLE.com[74.125.39.27]:25, delay=2598,
delays=2596/0.89/0.28/0.45, dsn=2.0.0, status=sent (250 2.0.0 OK
1302875014 5si2515622fav.103)
Apr 15 15:43:34 apeliotes postfix/qmgr[3430]: 9FC7C7F40F3:
from=<....>, size=1092, nrcpt=1 (queue active)
Apr 15 15:43:35 apeliotes postfix/smtp[3461]: 05F4C7F40DF:
to=<michael.diederich at ....>,
relay=ASPMX.L.GOOGLE.com[74.125.39.27]:25, delay=2598,
delays=2595/1.4/0.5/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK
1302875015 h7si2516099fas.96)
Apr 15 15:43:35 apeliotes postfix/qmgr[3430]: BC9A97F40F6:
from=<....>, size=1114, nrcpt=1 (queue active)
Apr 15 15:43:36 apeliotes postfix/smtp[3463]: 764EE7F40FE:
to=<michael.diederich at ....>,
relay=ASPMX.L.GOOGLE.com[74.125.43.27]:25, delay=3808,
delays=3805/0.79/0.49/1.8, dsn=2.0.0, status=sent (250 2.0.0 OK
1302875016 l8si2512807fam.149)
Apr 15 15:43:37 apeliotes postfix/qmgr[3430]: 287747F40D9: removed
Apr 15 15:43:37 apeliotes postfix/pickup[3429]: EE4977F4103: uid=106 from=<....>
Apr 15 15:43:37 apeliotes postfix/cleanup[3432]: EE4977F4103:
message-id=<20110415134336.EE4977F4103 at ....>
Apr 15 15:43:38 apeliotes postfix/master[3417]: terminating on signal 15

Wie gesagt, kleine Mengen machten bisher kein Problem, erst der
Newsletter hat das System in die Knie gezwungen.

Danke für deine Hilfe!

Liebe Grüße,

Michael 'da didi' Diederich

--
http://de.wikipedia.org/wiki/Benutzer:MichaelDiederich
http://www.md-d.org/