Praveen Chinthala wrote: *snip* (no longer mainstream details) > > Hi, > > Thanks Marc and Bill for your replies. > > The huge number of mails I am talking about are tabular data sent to > external list of users (all external) from a distribution email address. > However these emails are sent every hour to the distribution from a separate > host in the local network to the smarthost. The smarthost (exim4 server) > then sends the email. My point is, sending the emails every hour is not > configured on the exim4 server but it's just a cron job on another server to > flush the emails every hour to the smart host.
OK - but even with an 'all at once' chron job, said server's MTA (if you can get some help) could probably be reconfigured to space those out a bit over time. ELSE... You can throttle the rate at which Exim accepts, and said corespondent *should8 adapt to that if it is smtp-compliant. (not known to me). Unless each message user-specific, it would be better to receive ONE message for a list of recipients, then use a Mailing List Manager (don't say em-ell-em, SA goes BF) to spread out the load. > > Hence the exim4 server (smart host) gets huge number of emails from that > particular host at exactly between 0 and 2 mins of everyhour. However the > exim4 server is configured to empty its queue every 15 mins as set in > /etc/default/exim4 file and its also running separate daemons. The 15 minutes won't ordinarily matter so long as you are not running 'queue_only". OTOH, you may need/wish to do just that - as it unloads the peak number of child processes instantiated with the massive arrival. If you DO run queuue-only, then 15-minute intervals are way too infrequent to avoid creating yet-another (set of) peak situation(s). Try decreasing that. > So, when it > actually gets these many emails and when it tries to send, the server's load > shoots up to 95 and comes back in less than 2 mins. So long as it faileth not, there is nothing wrong with running a Unix server at that load level for a few minutes of the hour. You could, OTOH, invoke Exim with a reduced priority to insure you can always (at least) get in with ssh, etc.. man nice > I would like to know is > there any way to reconfigure exim4 such that the load is controlled and all > the messages sent without any delay as and when they are received. > That is a contradictory wish. There is always *some* delay, if only because the system bus and network are not infinite, let alone CPU and RAM. Speaking of being bandwidth-bound, you could also implement 'dummynet' throttling for the source IP of the initial broadcast and/or your incoming port 25. If the slowest link in the present chain is, for example, a BT or Colt E1 @ 2048 Mbps then emulating a 256 Kbps or 512 kbps link with dummynet (or equivalent), could spread your incoming burst out over more than 2 minutes. > Hope I am making sense, and if not please be patient with me as I am not > very much experienced in exim4. > > Thanks a lot. > > Praveen > Sense enough (now). But if fast turnaround is really your goal, and is working for you as-is, I'd say go for a faster server (dual-core, 4 GB of fast RAM, SCSI or SATA 'hardware' RAID, separate sending and receiving NIC's) that can do the job with more reserve capacity. HTH, Bill -- ## List details at http://www.exim.org/mailman/listinfo/exim-users ## Exim details at http://www.exim.org/ ## Please use the Wiki with this list - http://www.exim.org/eximwiki/
