Olá Pessoal,

Obrigado pelos retornos (Julio Cesar e Hamilton Vera), eu estava "estudando"
este assunto de performance Interspire VS Postfix. Gostaria de compartilhar
algumas observações. 

Bem, eu encontrei o material Postfix Performance Tuning em
http://www.postfix.org/TUNING_README.html e o nome já diz tudo. Por conta
deste material e mais alguma iniciativa própria tomei as seguintes
providencias:

--Cada parâmetro destes está explicado no material citado.

Main.cf
1 - smtpd_error_sleep_time = 0
2 - smtpd_client_connection_count_limit = 0
3 - smtp_connect_timeout = 0
4 - smtp_helo_timeout = 1s
5 - default_process_limit = 200
6 - initial_destination_concurrency = 100
7 - default_destination_rate_delay = 0
8 - smtp_destination_concurrency_limit = 100
9 - transport_destination_concurrency_limit = 100
10 -default_destination_concurrency_limit = 100
11 -local_destination_concurrency_limit = 100

Master.cf
12 - smtp      inet  n       -       -       -       20       smtpd
13 - flush     unix  n       -       n       300     0       flush
14 - smtp      unix  -       -       n       -       500     smtp

Outras medidas
15 - Coloquei o maillog para registrar somente do nível de warning para
cima. O syslog estava com mail.* e isto era interessante enquanto
efetivávamos a instalação e enfrentávamos erros. Desta forma já ganharíamos
um tempo no envio, que era o de registrar tuuudoo no log;
16 - Sugeri a retirada do DKIM, pois a cada email enviado ele se preocupa em
registrar a chave de domínio, mas fui voto vencido. O DKIM deve permanecer.

Bem, o pessoal do Postifix é claro nas documentações, ao abordar o assunto
como de: tentativa e erro; dependendo de cada configuração. Com a história
do DKIM eu diria que é também uma questão de trade-off.

A máquina:
1 - 2 x 2.0 GHz Cores;
2 - Public Bandwidth = 3000 GB Bandwidth;
3 - Uplink Port Speeds = 100 Mbps Public & Private Networks;
4 - Memory = 6144 MB ou 6 GB

Discos
Disk 0 25 GB System (apenas sistema)
Disk 1 2 GB Swap 
Disk 2 100 GB SAN System  (caixas de correio)

Como a máquina está em clouding não há problema em mais disco, mas isso
também não é o problema, assim como a RAM, IO e Banda. Pude observar via TOP
que: durante o envio de 5000 emails (que levaram 2 horas, depois do ajuste,
para serem enviados) que:

CPU ficou com um consumo baixíssimo, havia momentos em que a CPU batia 2% de
uso;
Custou para passar de 2GB de uso de RAM;
O pessoal de infra me passou que nada especial de banda foi usado durante o
momento do teste, ficando com folgas grandes de cerca de 70%.
O número de conexões com o MySQl ficou estável, sendo que havia momentos em
que 40 conexões eram abertas, mas logo este número caia indicando que o
Interspire fechava as conexões de forma apropriada, ao final todas foram
fechadas sem problemas.

Bom, mesmo que qualquer destes itens fosse o vilão, bastava fazer upgrade
que requer apenas um reboot. DETALHE: Esta máquina está única e
exclusivamente com os serviços Postfix e Dovecot (Envio e recepção)SMTP,
POP, IMAP e HTTP - administração do Postfix e Insterspire. Mais nada. Bem, a
meta é enviar 100.000 e-mails dia. Da forma que está envia 50.000. 

Considerando esta configuração, condições e exclusividade acima informados
eu acho pouco os 100.000, quem dirá os 50.000. O cron está habilitado para
rodar a cada 1 minuto, chamando o script .php de envio do Insterspire e dá
para "ver", ele levando cerca de 1,5 segundo para enviar um único e-mail.
Para um e-mail apenas este tempo é imperceptível mas para 50, 100.000 há
diferença.

Os main e máster, seguem sem os comentários, conforme o Hamilton pediu. Com
relação ao log, nenhum erro é apontado - e não há erros já que os envios e
recepções são realizados. Meu chute é que estão mantendo muitas "policies" e
o DKIM e isso consome. Mas eu sou novato e queria ouvir a opinião dos
colegas, pois posso falar grandes bobagens. Há alguém aí trabalhando com
Insterspire com melhor performance? 

Gostaria da opinião dos colegas e mais, quem sabe não chegamos em um
denominador comum sobre esta questão de performance...

Main.cf
soft_bounce = yes
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
inet_interfaces = all
mydestination = $myhostname, localhost, localhost.localdomain,
localhost.$myhostname
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.5.9/samples
readme_directory = /usr/share/doc/postfix-2.5.9/README_FILES
inet_protocols = ipv4
virtual_alias_domains = 
myhostname = nomedamaquina.com.br
myorigin = nomedamaquina.com.br
mydomain = nomedodominio.com.br
biff = no
mynetworks = 127.0.0.0/8
mynetworks_style = subnet
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_reject_unlisted_recipient = yes
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch,
permit_sasl_authenticated
delay_warning_time = 0h
policy_time_limit = 3600
maximal_queue_lifetime = 1d
bounce_queue_lifetime = 1d
recipient_delimiter = +
proxy_read_maps = $canonical_maps $lmtp_generic_maps $local_recipient_maps
$mydestination $mynetworks $recipient_bcc_maps $recipient_canonical_maps
$relay_domains $relay_recipient_maps $relocated_maps $sender_bcc_maps
$sender_canonical_maps $smtp_generic_maps $smtpd_sender_login_maps
$transport_maps $virtual_alias_domains $virtual_alias_maps
$virtual_mailbox_domains $virtual_mailbox_maps
smtpd_helo_required = yes
smtpd_helo_restrictions = permit_mynetworks,permit_sasl_authenticated,
check_helo_access pcre:/etc/postfix/helo_access.pcre
queue_run_delay = 300s
minimal_backoff_time = 300s
maximal_backoff_time = 4000s
enable_original_recipient = no
disable_vrfy_command = yes
home_mailbox = Maildir/
allow_min_user = no
message_size_limit = 15728640
virtual_minimum_uid = 503
virtual_uid_maps = static:503
virtual_gid_maps = static:509
virtual_mailbox_base = /var/vmail
transport_maps = proxy:mysql:/etc/postfix/mysql/transport_maps_user.cf,
proxy:mysql:/etc/postfix/mysql/transport_maps_domain.cf
virtual_mailbox_domains =
proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf
virtual_mailbox_maps =
proxy:mysql:/etc/postfix/mysql/virtual_mailbox_maps.cf
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf,
proxy:mysql:/etc/postfix/mysql/domain_alias_maps.cf,
proxy:mysql:/etc/postfix/mysql/catchall_maps.cf,
proxy:mysql:/etc/postfix/mysql/domain_alias_catchall_maps.cf
sender_bcc_maps = proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_domain.cf,
proxy:mysql:/etc/postfix/mysql/sender_bcc_maps_user.cf
recipient_bcc_maps =
proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_domain.cf,
proxy:mysql:/etc/postfix/mysql/recipient_bcc_maps_user.cf
relay_domains = $mydestination,
proxy:mysql:/etc/postfix/mysql/relay_domains.cf
smtpd_sender_login_maps =
proxy:mysql:/etc/postfix/mysql/sender_login_maps.cf
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = 
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_authenticated_header = no
smtpd_recipient_restrictions = reject_unknown_sender_domain,
reject_unknown_recipient_domain, reject_non_fqdn_sender,
reject_non_fqdn_recipient, reject_unlisted_recipient, permit_mynetworks,
permit_sasl_authenticated, reject_unauth_destination,
reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname,
check_policy_service unix:private/policy, check_policy_service
inet:127.0.0.1:7777, check_policy_service inet:127.0.0.1:10031
smtpd_tls_security_level = may
smtpd_enforce_tls = no
smtpd_tls_loglevel = 0
smtpd_tls_key_file = /etc/pki/tls/private/iRedMail.key
smtpd_tls_cert_file = /etc/pki/tls/certs/iRedMail_CA.pem
smtpd_tls_CAfile = /etc/pki/tls/certs/iRedMail_CA.pem
tls_random_source = dev:/dev/urandom
tls_daemon_random_source = dev:/dev/urandom
#
# Uncomment the following line to enable policyd sender throttle.
#
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10032
mailbox_command = /usr/libexec/dovecot/deliver
virtual_transport = dovecot
dovecot_destination_recipient_limit = 10
smtpd_sasl_type = dovecot
smtpd_sasl_path = ./dovecot-auth
content_filter = smtp-amavis:[127.0.0.1]:10024
#=================================
#DEFINIDO POR RAZÕES DE PERFORMANCE
#=================================
smtpd_error_sleep_time = 0
smtpd_client_connection_count_limit = 0
smtp_connect_timeout = 0
smtp_helo_timeout = 1s
default_process_limit = 200
initial_destination_concurrency = 100
default_destination_rate_delay = 0
smtp_destination_concurrency_limit = 100
transport_destination_concurrency_limit = 100
default_destination_concurrency_limit = 100
local_destination_concurrency_limit = 100

Master.cf

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       20       smtpd   
cleanup   unix  n       -       n       -       0       cleanup
qmgr      fifo  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       300     0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       500     smtp
relay     unix  -       -       n       -       -       smtp
        -o smtp_fallback_relay=
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache
policy    unix  -       n       n       -       -       spawn
 user=nobody argv=/usr/bin/perl /usr/local/lib/postfix-policyd-spf-perl

 pickup    fifo  n       -       n       60      1       pickup
  -o content_filter=
submission inet n       -       n       -       -       smtpd
  -o smtpd_enforce_tls=yes
  -o smtpd_sasl_auth_enable=yes
  -o
smtpd_client_restrictions=permit_mynetworks,permit_sasl_authenticated,reject

smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

# Use dovecot deliver program as LDA.
dovecot unix    -       n       n       -       -      pipe
    flags=DRhu user=vmail:vmail argv=/usr/libexec/dovecot/deliver -f
${sender} -d ${user}@${domain}
procmail unix    -       n       n       -       -      pipe
  flags=DRhu user=vmail:vmail argv=/usr/bin/procmail -r -t SENDER=${sender}
RECIPIENT=${recipient} DOMAIN=${nexthop} -m USER=${user}
EXTENSION=${extension} /etc/procmailrc
smtp-amavis unix -  -   -   -   2  smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20

127.0.0.1:10025 inet n  -   -   -   -  smtpd
    -o content_filter=
    -o local_recipient_maps=
    -o relay_recipient_maps=
    -o smtpd_restriction_classes=
    -o smtpd_delay_reject=no
    -o smtpd_client_restrictions=permit_mynetworks,reject
    -o smtpd_helo_restrictions=
    -o smtpd_sender_restrictions=
    -o smtpd_recipient_restrictions=permit_mynetworks,reject
    -o mynetworks_style=host
    -o mynetworks=127.0.0.0/8
    -o strict_rfc821_envelopes=yes
    -o smtpd_error_sleep_time=0
    -o smtpd_soft_error_limit=1001
    -o smtpd_hard_error_limit=1000
    -o smtpd_client_connection_count_limit=0
    -o smtpd_client_connection_rate_limit=0
    -o
receive_override_options=no_header_body_checks,no_unknown_recipient_checks,n
o_address_mappings



[]'s
Ernani Medeiros










-----Mensagem original-----
De: Hamilton Vera [mailto:hamilton.lis...@gmail.com] 
Enviada em: sábado, 9 de abril de 2011 19:51
Para: Grupo de Usuarios Postfix do Brasil
Assunto: Re: [Postfix-BR] Tunning Postfix - Interspire

Você tem que postar alguns logs para termos idéia do problema e
verificar se sua banda aguenta.

[]'s

Hamilton Vera

_______________________________________________
Postfix-BR mailing list
Postfix-BR@listas.softwarelivre.org
http://listas.softwarelivre.org/mailman/listinfo/postfix-br

Responder a