As the part-time admin of an MTA I would appreciate some advice on what
values to use for Exim's parameters to stop throughput reducing to a
trickle.
We are using Exim 4.63 (with SpamAssassin run by sa-exim) on a Sun
Enterprise 250 machine which has 2 Gigabytes of memory.
About 99% of all our e-mails arrive from two company edge servers and
total received is about 20,000 e-mails per day with only around 1,000 of
genuine e-mails and the rest being SPAM.
What I am finding is that the throughput after the machine is rebooted
is fine but after several days it reduces to a trickle and this is
usually at weekends!
Arriving in this morning I issued the top command and it showed 13
exim-4.63-4 processes, all sleeping, and only 0.4% user cpu usage (this
is usually more than 50%).
How do I go about sorting this out as a search of the Exim archive
didn't turn up anything (possibly I did not use the correct search
string)?
Also, I only find in the Exim 4 book the size of some of the parameters
is mentioned a few times but I cannot find any guidance on what should
be used for different e-mail throughput and machine size.
This morning I made some changes to Exim config file before I rebooted
the machine. Throughput of e-mails is back up again.
Some of the current Exim config parameters from Exim's config that I
think affect performance are:
deliver_queue_load_max = 100
queue_only_load = 150
smtp_accept_max = 100
smtp_connect_backlog = 20
smtp_accept_max_per_host = 0
smtp_accept_queue_per_connection = 100
smtp_accept_max_per_connection = 1000
smtp_accept_queue = 0
smtp_receive_timeout = 5m
split_spool_directory = true
queue_run_max = 15
BTW this morning I reduced smtp_accept_max from 500 to 100 and
smtp_connect_backlog from 50 to 20 in the hope that it might help.
Also, Exim is started with the -bd -q5m parameters and spamd has the
--max-children=100 parameter.
Any advice would be most appreciated as I would not like to fix the
problem by rebooting the machine every night!
Thanks
Paul McIlfatrick