Trellon has been working on a fairly large implementation of CiviCRM for an advocacy group based in DC that was seeking to implement a CRM system that will help them manage their online fundraising and email marketing program. Email marketing is a large part of the organization's outreach strategy, so having a mail system that can deliver their 50,000+ emails in a short amount of time was a necessity.
We explored methods for optimizing CiviMail and decided to follow recommendations made by Lobo on the CiviCRM wiki. We set up the client mail and database server on a dedicated server with an Intel 2 Quad Core 2Ghz processor, 16GB of RAM, and 70 GB of disk space. We wrote some custom scripts to batch emails over to the mail server on cron to increase delivery speeds as well.
We have been able to get some really good times on delivery. I ran a test with the required tokens plus two additional tokens sent to 101,270 sample email addresses, which took 42 minutes. This is roughly 2411 per minute, or 144,671 emails per hour. This is a 50% greater delivery speed that we had set as our optimal goal.
I think with some additional optimization tweaks we can get up to 200,000 or 250,000 per hour. We are going to be exploring other methods to optimize delivery for this client over time as their email list grows. We will post additional tips and code samples for scripts we used once the site goes live around June 15th.
If you have recommendations for ways to optimize CiviMail delivery or benchmarks for CiviMail configurations you have set up, please post them in the comments.