>Can anyone give me some real-world experiences with IMail performance? We
>have a custom email list application written in ColdFusion. We can easily
>send out over 100,000 emails over a couple of days (about 600 every 10
>minutes).
That can work a *lot* better than sending 100,000 E-mails all at once.
The key is to send them in batches. If you send the 600 E-mails in batches
of 30, for example, that would be only 20 SMTP processes needed to send out
the E-mails. If it could handle them all in 10 minutes, the only E-mails
going to the queue would be the undeliverables.
>It is a fact of life that when sending that many emails, many are not sent
>right away due to the availability of the receiving SMTP server.
Quite true.
>IMail would place these into the queue. Is it true that the queue is only
>worked by a
>single thread?
Yes and no. IMail works with processes, not threads (a technical
difference, but a big one, and processes use *much* more resources than
threads, limiting IMail to about 30 simultaneous outgoing E-mails).
Each time a queue run is done (based on your SMTP settings; every 30
minutes is typical), IMail will start one and only one SMTP process to send
out whatever is in the queue. That thread will continue running until it
has tried all the E-mail in the queue. Only then will the process end.
So, you may have just 1 process handling all the mail in the queue. But,
after 30 minutes or so, another one will be started, so you'll have 2
processes going until they get through it all. And, another will be added
after 60 minutes, helping out further. So the mail will get out, it's just
not as efficient as it could be.
>If so, I fear that my undelivered queue would grow to be enormous.
IMail should be able to handle it. The biggest concern is that if the
E-mail can't be delivered on the first try, it could take quite a while for
the next try. But is that so bad? If a mail server is unreachable now,
there's a good chance it's going to be unreachable a half hour from now.
The problem would be worse if you were sending all the 100,000 E-mails at
the same time, since the overflow (probably about 99,000 or so of the
E-mails) would get put into the queue. In that case, it could take quite
some time for the E-mails to get delivered. But if you send them all at
once (and in batches of 30 or so, not one-at-a-time), you'll be in much
better shape.
You can also play with the registry setting MaxQueueProc (I think that's
it), if you look at the Ipswitch Knowledge Base, to find the optimum number
of processes before crashes occur.
-Scott
---
Declude: Anti-virus, Anti-spam and Anti-hijacking solutions for
IMail. http://www.declude.com
Please visit http://www.ipswitch.com/support/mailing-lists.html
to be removed from this list.
An Archive of this list is available at:
http://www.mail-archive.com/imail_forum%40list.ipswitch.com/