[postfix-es] Envio de mensajes al servidor, muy lento
José Luis Tallón
jltallon en adv-solutions.net
Mie Dic 10 22:24:18 CET 2003
At 19:05 10/12/2003, you wrote:
>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 !! :)
Se las daré en persona, mañana mismo si puede ser ;)
>Aqui vaaaa :)
>---cut---
>[snip]
>default_destination_concurrency_limit = 10
Esto dependerá del ancho de banda que tengas para salir a Internet
>local_destination_concurrency_limit = 2
.. y esto del ancho de banda del subsistema de disco de la máquina que
contiene los buzones.
>local_recipient_maps = $alias_maps unix:passwd.byname
muy bien
>maps_rbl_domains = relays.ordb.org relays.visi.com bl.spamcop.net
Puedes añadir las listas de easynet.nl si quieres afinar un poco más ;)
>[snip]
>
>
> > - 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
- Estas dos expresiones regulares cubren *exactamente lo mismo*...
( toda línea que contenga "your TEN1S" contiene "TEN1S" )
... y además de estar duplicadas, son tremendamente ineficaces:
/TEN1S/ REJECT
cumple la misma función
Por otra parte, todo mensaje que se refiera a esa parte de la anatomía
masculina va a ser rechazado ( la expresión es muy general )... ojo con eso!!
>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
Esto también es tremendamente ineficaz:
/www\.dominiospam\.com/ hace lo mismo, y es mucho más "barato" en ciclos de
CPU.
¡Ojo! '.' significa "cualquier caracter". Lo que querías se escribe con
'\.' [escapar el '.' ]
Si puedes, combina "unas cuantas" en una sola, también te hará ganar velocidad:
/www\.(undominio|otrodominio|mucho)spam\.com/ REJECT
[ esto rechaza "www.{undominiospam,otrodominiospam,muchospam}.com" ]
[ hasta unos 500 caracteres por línea es razonable -- creo recordar que el
límite está en 2048 ]
>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
Vale
>/^Subject:.*Pexnis/ REJECT
>/^Subject:.*PExNIS/ REJECT
Las expresiones regulares *no son sensibles* a mayúsculas/minúsculas. Así
pues, las dos anteriores son realmente iguales
>/^Subject.*Silxxdenafil Citrate/ REJECT
>/^Subject:.*your paxxssword, your access/ REJECT
Aquí también puedes combinar... incluso aunque no haya "factor común" !!!
>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
Esto es un sitio genial para "sacar factor común" con el "@terra.es"... y
además te ahorras muchos ciclos!!!
Si tu Postfix lo soporta ( postconf -m te lo dirá ), usa "mapas" PCRE [
pcre: ] en vez de POSIX RegExp [regexp:] .. son mucho más rápidos y
bastante más potentes.
>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 :)
xDDDD
> > - si hay "content filter", cuál es, configuración, y contenido de master.cf
>
>[snip]
master.cf está bien, como no podía ser de otra manera ;)
> > - 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.
Vale.
>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.
El consumo de CPU debe bajar drásticamente una vez hagas los cambios que te
he comentado en los {header,body}_checks.
Si aún después de optimizar las expresiones regulares sigo siendo "lento"(
lo dudo ) tendremos que meternos con el sistema de ficheros, configuración
del subsistema de disco, etc.
>Gracias de antemano. Si necesitas mas cosas, no dudes en decirmelo por favor.
Comprueba los ajustes que te he dicho, a ver cuánto se acelera "la cosa" :)
>Saludos,
>Alfredo
José Luis Tallón
-
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