(Fwd) Re: [postfix-es] Envio de mensajes al servidor, muy lent

ava en engranada.net ava en engranada.net
Mie Dic 10 19:46:27 CET 2003


------- Forwarded message follows -------
From:           	Self <ava en engranada.net>
To:             	José Luis Tallón <>
Subject:        	Re: [postfix-es] Envio de mensajes al servidor, muy lento
Date sent:      	Wed, 10 Dec 2003 19:05:20 +0100

On 10 Dec 2003 at 16:00, José Luis Tallón wrote:

> At 14:54 10/12/2003, you wrote:
> >Hola a todos,
> >Tengo una duda que me corroe :)
> >Tengo funcionando postfix 1.12 con sasl y me ocurre que cuando se mandan 
> >mensajes con ficheros grandes (mas de 600ks) la transferencia es muy 
> >lenta, tanto que para ser por la red es casi como si se enviaran con un 
> >modem :-(
> >Observo que el servidor cuando está recibiendo mensajes, consume mucha cpu
> >--------------
> >PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME COMMAND
> >    774 
> > postfix   25   0  3644  3644  1300         R    98,8     0,9         1:52 
> >    cleanup
> >-------------
> >Si coinciden varios envios, siempre la ocupación de la cpu es la misma, 
> >casi al 100% :- (.  Esto no es que sea un problema, pero lo jodio es que 
> >pa tener el servidor a unos metros por la red, es muy lento.
> >Seguramente que hay algo que no estoy haciendo mal en la configuración, 
> >porque no creo que deba ir así de lento.
> >La entrega de mensajes es muy rápida, tanto dentro de la red a los 
> >usuarios como a otros MTAs..
> 
> Pese a mis dones de telépata ( ;-) ), no consigo ver clara tu 
> configuración.... xD
> Por tanto, sé que todos agradeceríamos ver la salida de :
> 
> - postconf -n

Mi configuracion parte de los ficheros que genera el script de Fernando Limon, con 
algunos añadidos.. Desde aquí... Gracias Fernando Limon y Ramon Pons !! :)

Aqui vaaaa :)
---cut---
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
body_checks = regexp:/etc/postfix/body_checks
broken_sasl_auth_clients = yes
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
debug_peer_list = xxxxx.net
default_destination_concurrency_limit = 10
disable_dns_lookups = no
disable_vrfy_command = yes
header_checks = regexp:/etc/postfix/header_checks
local_destination_concurrency_limit = 2
local_recipient_maps = $alias_maps unix:passwd.byname
mail_name = Postfix
mail_owner = postfix
mailbox_size_limit = 8960256
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maps_rbl_domains = relays.ordb.org relays.visi.com bl.spamcop.net
maximal_queue_lifetime = 3d
message_size_limit = 5242880
mydestination = localhost.localdomain localhost $myhostname localhost.$mydomain 
$mydomain mail.$mydomain www.$mydomain ftp.$mydomain xxx.mine.nu 
xxx.sytes.net
mydomain = xxxxx.net
myhostname = obelix.xxxxx.net
mynetworks = 127.0.0.1 192.168.0.0/24
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
notify_classes = resource, software, policy
queue_directory = /var/spool/postfix
relay_domains = $mydestination colegioxxxx.org [213.96.xxx.xxx] [213.96.xxx.xxx]
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_client_restrictions = reject_maps_rbl
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks 
check_relay_domains reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = xxxxx.net
smtpd_sasl_security_options = noanonymous
smtpd_sender_restrictions = hash:/etc/postfix/access
transport_maps = hash:/etc/postfix/transport
virtual_maps = hash:/etc/postfix/virtual
----cut---




> - contenido de los "mapas" 'header_checks' y 'body_checks'

Si pongo el contenido de las palabras que filtro con el body_checks, quizá no te pueda 
enviar el mensaje, pero viene a ser así:

---body_checks---
# spammers: texto que se encuentra en sus mensajes
/^.*your TENIS/			REJECT 
/^.*TEN1S/				REJECT
----------

He cambiado la P por una T para no tener problemas con el envio.
Y así hasta mas de 150 lineas conteniendo dominios que usan los spammers 
habituales, ejemplo:

/^.*www.dominiospam.com/				REJECT

el header_checks:

es el de Fernando Limon con añadidos mios:

------header_checks------
si lo pongo me fastidiará el envio de este mensaje, porque la palabra esa de la "pastilla 
azul" es demasiado abundante...

Es básicamente el que genera el script de Fernando, con muchas mas lineas de este 
estilo:

/^Subject:.*vixagra/					REJECT 
/^Subject:.*Pexnis/					REJECT 
/^Subject:.*PExNIS/					REJECT 
/^Subject.*Silxxdenafil Citrate/				REJECT
/^Subject:.*your paxxssword, your access/			REJECT 

He deformado las palabras para que no se fastidie el mensaje en el camino :)

# spammer que envia a terra
/^Cc:.*xxxx en terra.es*/				REJECT 
/^Cc:.*xxxstem en terra.es*/			REJECT 
/^Cc:.*xxxsfp en terra.es*/				REJECT 
/^To:.*xxxon en terra.es*/				REJECT 
/^To:.*xxxxesystem en terra.es*/			REJECT 
/^To:.*xxxfp en terra.es*/				REJECT 

Conjunto de direcciones deformadas que sufren o comparten un grupo de spamers sin 
escrúpulos, los muy torpes siempre mandan los mensajes a un mismo grupo de gente, 
y me los pude quitar de encima con esta simple cosa :)

> - si hay "content filter", cuál es, configuración, y contenido de master.cf


Master.cf

---cut----
####################################################### 
# 
# Fichero de configuracion /etc/postfix/master.cf 
# 
# http://laurel.datsi.fi.upm.es/postfix/ 
# 
# Autores: 
#    Fernando Limon - flimon en fi.upm.es 
#    Ramon Pons Vivanco - rpons en laurel.datsi.fi.upm.es 
# 
# (Monday 15th of September 2003 12:36:55 AM) - Version 1.08 
# 
####################################################### 

# 
=================================================================
========= 
# service type	private	unpriv	chroot	wakeup	maxproc	command + args 
# 		(yes)	(yes)	(yes)	(never)	(50) 
# 
=================================================================
========= 
#127.0.0.1:10025     inet  n       -       n       -       -       smtpd -o content_filter= 
smtp	  inet	n	-	n	-	-	smtpd 
pickup	  fifo	n	-	n	60	1	pickup 
cleanup	  unix	n	-	n	-	0	cleanup 
#qmgr	  fifo	n	-	n	300	1	qmgr 
qmgr	  fifo	n	-	n	300	1	nqmgr 
#tlsmgr	  fifo	-	-	n	300	1	tlsmgr 
rewrite	  unix	-	-	n	-	-	trivial-rewrite 
bounce	  unix	-	-	n	-	0	bounce 
defer	  unix	-	-	n	-	0	bounce 
flush	  unix	n	-	n	1000?	0	flush 
smtp	  unix	-	-	n	-	-	smtp 
relay	  unix	-	-	n	-	-	smtp 
showq     unix	n	-	n	-	-	showq 
error     unix	-	-	n	-	-	error 
local	  unix	-	n	n	-	-	local 
virtual   unix	-	n	n	-	-	virtual 
lmtp	  unix	-	n	n	-	-	lmtp 
# 
# 
#old-cyrus unix  -      n       n       -       -       pipe 
#   flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user} 
cyrus     unix  -       n       n       -       -       pipe 
    user=cyrus argv=/cyrus/bin/deliver -e -r ${recipient} -m ${extension} ${user} 
uucp	  unix	-	n	n	-	-	pipe 
    flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient) 
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=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient 
#vscan    unix  -       n       n       -      10       pipe 
#   flags=q user=amavis argv=/usr/sbin/amavis ${sender} ${recipient} 
------cut--------

> - qué configuración tiene la red? MTU? hay un firewall? cuál?


El servidor está en una red clase c con menos de diez máquinas, detrás de un router de 
telefónica con NAPT activado. 

Hay usuarios dentro y fuera de la red.


A ver si ves algo que cause el envio torpe, y esos consumos de cpu tan exagerados.


Gracias de antemano. Si necesitas mas cosas, no dudes en decirmelo por favor.


Saludos,
Alfredo
------- End of forwarded message -------
-
Para ENVIAR mensajes a esta lista tienes que estar SUSCRITO a ella.
.
Envía la linea "unsubscribe postfix-es" en el cuerpo de un mensaje
a majordomo en WL0.org para quitarte de la lista.



Más información sobre la lista de distribución Postfix-es