[postfix-es] Envio de mensajes al servidor, muy lento

ava en engranada.net ava en engranada.net
Jue Dic 11 01:55:35 CET 2003


On 10 Dec 2003 at 22:24, José Luis Tallón wrote:

> >default_destination_concurrency_limit = 10
> 
> Esto dependerá del ancho de banda que tengas para salir a Internet
> 

No demasiado, 256 kbs. 

> >local_destination_concurrency_limit = 2
> 
> .. y esto del ancho de banda del subsistema de disco de la máquina que 
> contiene los buzones.


Esto no se lo que es :-(  mis conocimientos no son amplios, lo siento.

> 
> >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 ;)
> 

La estoy probando :) 

> >[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

Cambiado !! 

> 
> 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 ]
> 


Pues ya lo he modificado, ha quedado todo en 6 líneas, eso si... de entorno a los 500 
caracteres como has recomendado.


> >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!!!

Sí, pero me liquido a inocentes :). Ten en cuenta que ver cc's con gente de terra es 
frecuente.. 


> 
> 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.

Esto es lo que dice:

---
static
sdbm
pcre
nis
regexp
environ
btree
unix
hash
---

> 
> El consumo de CPU debe bajar drásticamente una vez hagas los cambios que te 
> he comentado en los {header,body}_checks.

Por esta noche en un ratillo he optimizado el fichero body_checks, mañana veré el otro 
fichero con mas tiempo.

> Si aún después de optimizar las expresiones regulares sigo siendo "lento"( 
> lo dudo ) 

Llevas razón, ha dejado de ser lento. :-)
Con la optimización que he hecho, sin profundizar mucho ha mejorado muuuucho en 
velocidad, se traga los mensajes a x30 con respecto a antes, pero la cpu se la sigue 
apropiando. :( la veo en el 98% aun.
Quizá es que no es demasiada máquina.. Se trata de un P2 a 350 con 392 megas de 
Ram. Tengo otro servidor funcionando que con un p4-2600 que tiene no se le notaba el 
desorden del fichero body.. :) ese no se cosca, pero es que es mucha máquina, 
mañana haré pruebas de enviar alli ficheros grandes a ver que hace..

tendremos que meternos con el sistema de ficheros, configuración 
> del subsistema de disco, etc.

Pues ya te cuento como queda cuando optimize lo que queda, me temo que con lo que 
queda... Igual es falta de máquina ??



Saludos,
Alfredo

-
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