Le 07/01/2010 20:03, Barney Desmond a écrit :
2010/1/8 Patrick Chemla<patrick.che...@perfaction.net>
Incoming messages are entering very fast (500 smtp processes declared) and
the active queue is actually of 2 millions messages waiting for delivery.
<snip>
here is my main.cf file:
That's some very thorough information, you've provided plenty of
context and clear description, which is great. While I lack sufficient
knowledge to provide thoughts on the bottlenecking, I *do* expect that
people will want to see the output of `postconf -n`, instead of your
main.cf (to ensure we see what postfix actually sees and uses).
Here is postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 8
debug_peer_list = orange.fr
default_delivery_slot_cost = 30
default_delivery_slot_discount = 100
default_destination_concurrency_failed_cohort_limit = 10
default_destination_concurrency_limit = 500
default_destination_recipient_limit = 200
default_minimum_delivery_slots = 30
default_process_limit = 1000
default_recipient_limit = 2000000
html_directory = no
inet_interfaces = all
inet_protocols = all
initial_destination_concurrency = 100
lmtp_destination_concurrency_limit = $default_destination_concurrency_limit
local_destination_concurrency_limit = 50
local_destination_recipient_limit = 500
mail_owner = postfix
mailbox_size_limit = 5120000000
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
max_use = 1000
mime_nesting_limit = 100
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = localpc2105.com
myhostname = postfix.proacti5.net
mynetworks = 172.27.27.0/24, 10.0.0.0/24, 127.0.0.0/24
newaliases_path = /usr/bin/newaliases.postfix
qmgr_fudge_factor = 200
qmgr_message_active_limit = 2000000
qmgr_message_recipient_limit = 2000000
queue_directory = /var/spool/postfix
queue_file_attribute_count_limit = 250
readme_directory = /usr/share/doc/postfix-2.5.6/README_FILES
relay_destination_concurrency_limit = $default_destination_concurrency_limit
relayhost = $mydomain
sample_directory = /usr/share/doc/postfix-2.5.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_connect_timeout = 10s
smtp_data_done_timeout = 10s
smtp_destination_concurrency_limit = $default_destination_concurrency_limit
smtp_mail_timeout = 5s
smtpd_history_flush_threshold = 100
smtpd_junk_command_limit = 100
smtpd_peername_lookup = no
unknown_local_recipient_reject_code = 550
Can you clarify what you mean by "500 smtp processes declared"? A
sample output from qshape also wouldn't go astray either
(http://www.postfix.org/qshape.1.html).
Here is qshape: T 5 10 20 40 80 160 320 640
1280 1280+
TOTAL 133000 0 0 0 0 0 2470 40538 80844
7167 1981
wanadoo.fr 61955 0 0 0 0 0 2469 26830 31340
1260 56
orange.fr 4171 0 0 0 0 0 0 1176 2144
540 311
skynet.be 3286 0 0 0 0 0 0 1
3284 0 1
aliceadsl.fr 3259 0 0 0 0 0 0 54 3169
25 11
aol.com 3150 0 0 0 0 0 0 1545 1524
40 41
free.fr 2138 0 0 0 0 0 0 453 1561
89 35
sfr.fr 840 0 0 0 0 0 0 23
816 1 0
hotmail.fr 679 0 0 0 0 0 0 150 420
12 97
telenet.be 658 0 0 0 0 0 0 0
658 0 0
gmail.com 358 0 0 0 0 0 0 157 145
11 45
hotmail.com 325 0 0 0 0 0 0 44 220
20 41
neuf.fr 252 0 0 0 0 0 0 62 176
14 0
9online.fr 250 0 0 0 0 0 0 6
244 0 0
cegetel.net 195 0 0 0 0 0 0 26
155 4 10
laposte.net 183 0 0 0 0 0 0 51 93
15 24
swing.be 141 0 0 0 0 0 0 2
139 0 0
9business.fr 111 0 0 0 0 0 0 23
85 3 0
sonepar.fr 107 0 0 0 0 0 0 33
72 2 0
axa.fr 103 0 0 0 0 0 0 30
67 1 5
most of the messages stay in the queue for hours.
You're provided some
proportional figures (percentages), but some solid throughput numbers
would be good too. Eg. "We're injecting 2 million messages to the
postfix box, we expect to enqueue them in X hrs, but it takes Y hrs,
and they're only leaving the postfix box at Z messages/sec". I see you
said "I just found that Postfix could send 1 million emails per hour
when I send less than a half million in 24 hours", but I can't make
sense of that, sorry.
I have to inject 2 to 4 millions emails to the postfix box in 24 hours,
and I expect to deliver within the same delay.
Actually, I can't deliver more than 500,000 per 24h hours.
But the CPU of the box is idle more than 80%. It is clear that it is not
a matter of CPU, nor memory, nor disk. Something in the number of
processes/users/simultaneous tasks is blocking.