Published at: 03:02 am - Thursday February 07 2008
Just doing some quick analysis in my head:
bulk-smtp yesterday:
~1,800 messages to yahoo
~18,000 messages total
~95.4% took < 15m to deliver
~67.4% took < 1m to deliver
lists-smtp yesterday:
~1,800 messages to yahoo
~6,350 messages total
~23.3% took < 15m to deliver
~1.1% took < 1m to deliver
Bulk-smtp was not using queuing, lists-smtp was. Obviously the low percentage of <1m deliveries on lists-smtp was due to queuing, qrunner's at 2m which means deliveries would almost always take longer than that. When you use queuing, it does not attempt to deliver the message right away. The largest chunk of messages in the lists-smtp queue that were
delivered was between the 15m-30m mark, and another large chunk at the 30m-1h mark (those two groups comprising about 75% of the total deliveries. I do not like how that is working so far.
Needless to say, I turned off queue_only on the lists-smtp queue at that point, meaning that when exim receives a message, it will immediately attempt the delivery. Then I found this [thanks exim-users!]:
<snip>
-qq...
An option starting with -qq requests a two-stage queue run. In the
first stage, the queue is scanned as if the queue_smtp_domains option
matched every domain. Addresses are routed, local deliveries happen, but
no remote transports are run.
The hints database that remembers which messages are waiting for
specific hosts is updated, as if delivery to those hosts had been
deferred. After this is complete, a second, normal queue scan happens,
with routing and delivery taking place as normal. Messages that are
routed to the same host should mostly be delivered down a single SMTP
connection because of the hints that were set up during the first queue
scan. This option may be useful for hosts that are connected to the
Internet intermittently.
<snip>
I was running the qrunner with just "-q2m" instead of "-qq2m". The single "-q" means that it didn't go the two-pass thing above like it did when you start the qrunner with "-qq". The "2m" means how often to start a new qrunner. So I was missing out on the whole point of what I was trying to do. D'oh. Looking at the docs previously, it sounded like that was the way exim behaved, period, not optionally.
In any case, I still have my doubts after looking at the numbers. But, I've turned on queue_only again and I've restarted the qrunner's with "-qq". I'll give it another day and I'll see how it looks tomorrow.
Day 37 of 2008: