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

José Luis Tallón jltallon en adv-solutions.net
Jue Dic 11 02:51:13 CET 2003


At 01:55 11/12/2003, ava en engranada.net wrote:
>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.

Bueno, si lo que tienes son 10 máquinas dentro y no hay muchos usuarios, es 
suficiente.

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

No te preocupes. Se refiere a la velocidad de los discos ( latencia, 
velocidad de transferencia, etc. )

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

Perfecto.

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

No, me refería a:

/^Cc:.*xxx(x|stem|sfp|on|xesystem|fp)@terra\.es/        REJECT Regla #1

( por cierto, es bueno etiquetar las reglas, por si empiezan a producir 
falsos positivos )

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

SI la soporta, así que si no las están usando todavía... *úsalas*
( cambiar 'regexp:' por 'pcre:' y 'postfix reload' )

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

Me alegro.

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

probablemente..

>Se trata de un P2 a 350 con 392 megas de Ram.

Si, vas corto de máquina, considerando que usas expresiones regulares como 
"filtro antispam" y las usas desde el propio Postfix, a medida que llegan 
los mensajes.
Pasar a PCRE debe hacerte ganar más velocidad todavía.

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

Pues si, ese va sobrado de CPU.... hasta que le pongas un antivirus y le 
entregues un volumen "aceptable" de mensajes ;)

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

- La CPU es más que suficiente para el correo... pero no para hacer de 
filtro antispam a golpe de RegExp !
- El subsistema de disco se quedaría corto con volúmenes de correo 
"normales", pero parece que el tuyo es razonablemente pequeño: no te 
preocupes de momento.
- Vas bastante bien de memoria, para el tipo de máquina que es.

>Saludos,
>Alfredo

Me alegro que haya mejorado la situación :)

         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