2012/1/11 Adrian Popa <[email protected]>: > Salutare, > > Rulez un server postfix (2.2.10) pe un domeniu intern exclusiv pentru > alarme. Scopul lui e să preia alarme de la diverse sisteme de management și > să le scrie în maildir-uri locale (după ce face expand la alias-uri). > Problema e că nu face față deloc ok la vârfuri de alarme (spike-uri de > 3-6000 de mailuri) și aș vrea să îi îmbunătățesc performanța (sau măcar să > înțeleg de ce e limitat). Momentan reușește să facă local delivery la ~1000 > mailuri/oră: http://imgur.com/1GH3y > > Sistemul pe care rulează e un Intel(R) Xeon(TM) CPU 3.00GHz cu HT, are la > dispoziție 2G de RAM + 2 swap (nefolosiți) și scrie pe un volum RAID 1 de > 133G (format parcă din 2 discuri). Load average-ul pe sistem e de regulă > sub 1, dar în momente de flood de alarme crește între 2 și 3. > > Performanța discului nu e cine știe ce, dar nu e nici foarte rea (cele 6000 > de mailuri sunt de regulă sub 1k): > [root@raptor ~]# hdparm -tT /dev/cciss/c0d0p1 > > /dev/cciss/c0d0p1: > Timing cached reads: 3848 MB in 2.00 seconds = 1923.33 MB/sec > HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl > for device > Timing buffered disk reads: 272 MB in 3.01 seconds = 90.50 MB/sec > HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl > for device
cred ca de aici ti se trage, e foarte mic transferul pe disk. > > Filesystem-ul e ext3, montat cu noatime. > > Configurația postfix este: > > [root@raptor ~]# postconf -n > alias_database = hash:/etc/aliases > alias_maps = hash:/etc/aliases > canonical_maps = hash:/etc/postfix/canonical > command_directory = /usr/sbin > config_directory = /etc/postfix > daemon_directory = /usr/libexec/postfix > debug_peer_level = 2 > default_destination_concurrency_limit = 40 > default_process_limit = 150 > helpful_warnings = yes > home_mailbox = Maildir/ > html_directory = no > inet_interfaces = localhost, 1.1.1.4 > initial_destination_concurrency = 20 > local_destination_concurrency_limit = 100 > mail_owner = postfix > mail_spool_directory = /var/spool/mail > mailq_path = /usr/bin/mailq.postfix > manpage_directory = /usr/share/man > maximal_queue_lifetime = 5m > message_size_limit = 41943040 > mydestination = $myhostname,localhost.$mydomain,localhost > mydomain = lan.net > myhostname = raptor.lan.net > mynetworks = 10.0.250.0/24, 127.0.0.0/8 > myorigin = $myhostname > newaliases_path = /usr/bin/newaliases.postfix > queue_directory = /var/spool/postfix > readme_directory = /usr/share/doc/postfix-2.2.10/README_FILES > sample_directory = /usr/share/doc/postfix-2.2.10/samples > sendmail_path = /usr/sbin/sendmail.postfix > setgid_group = postdrop > smtp_connect_timeout = 5 > smtp_helo_timeout = 10 > smtpd_banner = $myhostname ESMTP $mail_name > smtpd_client_connection_count_limit = 100 > smtpd_client_restrictions = permit_mynetworks > smtpd_error_sleep_time = 0 > unknown_local_recipient_reject_code = 550 > > Am citit din documentația postfix > http://www.postfix.org/QSHAPE_README.htmlși o parte din > http://www.postfix.org/TUNING_README.html > O parte din parametrii au fost deja tunați conform recomandărilor, dar nu > am avut o mare creștere de performanță. > > În concluzie - mă puteți îndruma spre ceva documentație/articole care să > îmi zică cum să găsesc unde am bottleneck-ul la local delivery? Dacă găsesc > bottleneck-ul, am ceva șanse să îmbunătățesc performanța, sau sunt deja > limitat de hardware? Mi se pare totuși o performanță mică să facă delivery > la 1 mail/secundă cum face acum (recunosc, alias-urile au cam 20-30 de > mailbox-uri în spate...). Care e experiența voastră în domeniu? vezi daca te ajuta sa pui logurile intr-un ramdisk sa vezi daca de la syslogd ti se trage. cum ziceau si alti oameni, vezi la disk, ca e ceva in neregula. daca faci delivery local, vezi daca te ajuta sa treci la Maildir/. _______________________________________________ RLUG mailing list [email protected] http://lists.lug.ro/mailman/listinfo/rlug
