Increasing the Speed of Email Delivery
I'm currently using a dedicated cPanel server with the following specs.
Xeon 3060 - Dual Core 2.4 GHz - 250GB SATA-II HDD - 2GB DDR2 RAM; RedHat/cPanel
It currently takes me about 6 hours to deliver 800K emails. It's an announce only list with 20 sublists of 40K addresses.
I will be upgrading to: Xeon 3450 - SATA - Quad Core 2.66 GHz - 250 GB IDE/SATA, 7200rpm - 4GB DDR3 RAM; RedHat/cPanel
and wanted to know if my email deliver would be much faster.
Any assistance/direction with server configuration would be greatly appreciated.
-Derrick Wooden
On Thu, Dec 17, 2009 at 04:14:03PM -0600, Derrick Wooden wrote:
I will be upgrading to: Xeon 3450 - SATA - Quad Core 2.66 GHz - 250 GB IDE/SATA, 7200rpm - 4GB DDR3 RAM; RedHat/cPanel
Regarding cPanel, see http://wiki.list.org/x/sYA9.
and wanted to know if my email deliver would be much faster.
You've not said which MTA, how that's been tweaked, how the spools are handled (or indeed, partitioned), what else the machine's doing, the connectivity of the machine, ISP infrastructure, destination servers, geography/latency, or a ~bundle~ of other things.
Any assistance/direction with server configuration would be greatly appreciated.
There have been some recent posts on this, that I didn't pay much attention to, but they'll be in the list archive. ISTR djb's Qmail being involved by the OP, and others suggesting the use of a different MTA.
-- Go mad this weekend: buy some beef! (advert at a supermarket)
Lots of it depends on the MTA (general opinion is that postfix seems to be the fastest), connectivity, and list settings (personalized email will take much longer). Check out the FAQ for performance, and as Adam mentioned, the list archives)
FWIW, before you change hardware, have you looked at which resources are constrained? Also, if it's a dedicated server, why are you using cpanel?
z!
Carl Zwanzig wrote:
Also, if it's a dedicated server, why are you using cpanel?
When I first started experimenting with MailMan 3 years ago, I used cPanel to add/remove my mailing lists, but have since learned how to do a few things via SSH. Is the implication that cPanel would hinder the optimal performance of the MTA and/or Mailman?
Carl Zwanzig wrote:
Lots of it depends on the MTA (general opinion is that postfix seems to be the fastest), connectivity, and list settings (personalized email will take much longer). Check out the FAQ for performance, and as Adam mentioned, the list archives)
FWIW, before you change hardware, have you looked at which resources are constrained? Also, if it's a dedicated server, why are you using cpanel?
z!
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2683... Sent from the Mailman - Users mailing list archive at Nabble.com.
d-woo writes:
When I first started experimenting with MailMan 3 years ago, I used cPanel to add/remove my mailing lists, but have since learned how to do a few things via SSH. Is the implication that cPanel would hinder the optimal performance of the MTA and/or Mailman?
Maybe a little. The big issue is that it hinders *your* performance, because your questions on Mailman lists will often get the totally non-responsive response
See FAQ <http://wiki.list.org/x/sYA9>.
IOW, the mere mention of cPanel (or Plesk) causes Mailman-Users to abort and dump core, which is not very useful to you.
P.S. Read that FAQ.
Stephen J. Turnbull wrote:
IOW, the mere mention of cPanel (or Plesk) causes Mailman-Users to abort and dump core, which is not very useful to you.
I have been doing a lot of reading along that wise. As a result I'm setting up the new server with no cPanel and will use Postfix as my MTA. I will do a clean install of Mailman 2.13 so that I can be on the same page as most users.
I read in a 2004 (or earlier thread) where using MySQL db tables would also increase the speed. I will also utilize this option.
Stephen J. Turnbull wrote:
d-woo writes:
When I first started experimenting with MailMan 3 years ago, I used cPanel to add/remove my mailing lists, but have since learned how to do a few things via SSH. Is the implication that cPanel would hinder the optimal performance of the MTA and/or Mailman?
Maybe a little. The big issue is that it hinders *your* performance, because your questions on Mailman lists will often get the totally non-responsive response
See FAQ <http://wiki.list.org/x/sYA9>.
IOW, the mere mention of cPanel (or Plesk) causes Mailman-Users to abort and dump core, which is not very useful to you.
P.S. Read that FAQ.
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2683... Sent from the Mailman - Users mailing list archive at Nabble.com.
On Dec 18, 2009, at 12:15 AM, Derrick Wooden wrote:
I have been doing a lot of reading along that wise. As a result I'm setting up the new server with no cPanel and will use Postfix as my MTA. I will do a clean install of Mailman 2.13 so that I can be on the same page as most users.
It's not just the MTA. It's also the configuration. I could build a Sendmail configuration that could beat the pants off an out-of-the-box postfix configuration, if the list was large enough and I had enough hardware to do the job right. I'm sure that we could find people who could do the same with Exim.
IMO, using postfix will give you a good initial default configuration and it won't take as much tweaking to improve the mail delivery performance, but that's just a personal opinion.
I read in a 2004 (or earlier thread) where using MySQL db tables would also increase the speed. I will also utilize this option.
I don't know of any way that MySQL would factor into this discussion. Can you provide a reference?
-- Brad Knowles bradknowles@shub-internet.org LinkedIn Profile: http://tinyurl.com/y8kpxu
I don't know of any way that MySQL would factor into this discussion. Can you provide a reference? Brad, upon reading this thread again you are correct. It was NOT implied
Brad Knowles-3 wrote: that MySQL would speed up email delivery, but rather MySQL would be a better database solution.
Reference: http://www.mail-archive.com/mailman-users@python.org/msg02401.html
Brad, I would be interested in contracting your services. Please email me off the forum. derrickwooden AT gmail
I have a dedicated server that will solely be used for Mailman. 6GB of RAM, Intel 2.6 GHz quad core. Am interested in delivering email as fast as possible.
Brad Knowles-3 wrote:
On Dec 18, 2009, at 12:15 AM, Derrick Wooden wrote:
I have been doing a lot of reading along that wise. As a result I'm setting up the new server with no cPanel and will use Postfix as my MTA. I will do a clean install of Mailman 2.13 so that I can be on the same page as most users.
It's not just the MTA. It's also the configuration. I could build a Sendmail configuration that could beat the pants off an out-of-the-box postfix configuration, if the list was large enough and I had enough hardware to do the job right. I'm sure that we could find people who could do the same with Exim.
IMO, using postfix will give you a good initial default configuration and it won't take as much tweaking to improve the mail delivery performance, but that's just a personal opinion.
I read in a 2004 (or earlier thread) where using MySQL db tables would also increase the speed. I will also utilize this option.
I don't know of any way that MySQL would factor into this discussion. Can you provide a reference?
-- Brad Knowles bradknowles@shub-internet.org LinkedIn Profile: http://tinyurl.com/y8kpxu
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2690... Sent from the Mailman - Users mailing list archive at Nabble.com.
On Dec 23, 2009, at 11:24 AM, Derrick Wooden wrote:
Brad, upon reading this thread again you are correct. It was NOT implied that MySQL would speed up email delivery, but rather MySQL would be a better database solution.
As a database, yes -- MySQL is better at that job than using Python "pickles", which is what Mailman does today. Unfortunately, there are no official interfaces between the current version of Mailman and MySQL. There is the MySQL Member Adapter, but it's not officially supported (so far as I know), so the best you can get with the current version is to run a script which periodically extracts the information from MySQL and then puts that into Mailman, and vice-versa.
Mailman3 will have a much improved database interface that will include MySQL, but it's not here yet.
Brad, I would be interested in contracting your services. Please email me off the forum. derrickwooden AT gmail
Unfortunately, I am not in a position to do this kind of consulting anymore. I'll give advice for free, but that's the best I can do at the moment.
-- Brad Knowles bradknowles@shub-internet.org LinkedIn Profile: http://tinyurl.com/y8kpxu
On Don, 2009-12-17 at 17:04 -0800, Carl Zwanzig wrote:
Lots of it depends on the MTA (general opinion is that postfix seems to be the fastest), connectivity, and list settings (personalized email will take Do I take the flame bait?;-)
Whatever you understand in detail under a "fast MTA" (and even if it would be the case), it doesn't really matter IMHO because a) Email/SMTP never was anywhere near "realtime" (though many people expect mails to be delivered in seconds), b) if your local Internet connection is too small, it doesn't help to have the fastest MTA[0], c) the local MTA resolves various hostnames and that could be "slow" and will involved timeouts (where every MTA out there just can wait)[0], d) if your hardware (RAM, disks) are too small or slow, the MTA really can't do anything (and I expect all widespread MTAS to reasonably minimize the I/O and memory anyways). That may be irrelevant on the usual small mailserver with average nowadays hardware but if you have e.g. a small ISP with >25K mailboxes and (on the average) 1E6 mails per day ("after" using DNSBLs blocking lots of spam/viruses before even sending "EHLO"), it looks quite different, e) b) for the remote MTA - but you have absolutely no influence on the remote side[0], f) c) for the remote MTA - but you have absolutely no influence on the remote side[0], g) the remote MTA may do extensive spam/virus checking, grey-listing, ... - taking time - causing "slow" mail delivery you have absolutely no influence on the remote side[0]. Of course the timeouts and waiting from above cost next to no resources/performance locally (so the MTA(s) usually deliver several emails in parallel without any problems as long as the box(es) do not trash) but it costs total time (which makes email delivery "slow").
So I don't think that saving 10% (or even 50%) local "speed" will make a significant difference (perhaps if you have a *really* large setup - but even then deploying one more box is cheaper than investing a day to improve the local performance. OK, saving a box is better for the world as such ....).
Bernd
[0]: And changing the local MTA won't solve that.
mobil: +43 664 4416156 http://bernd.petrovitsch.priv.at/ Linux Software Entwicklung, Beratung und Dienstleistungen
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Bernd Petrovitsch said the following on 23/12/09 11:20:
a) Email/SMTP never was anywhere near "realtime" (though many people expect mails to be delivered in seconds),
Unfortunately, too much users tend to forget this basic concept: SMTP is not designed to be an instant message service.
Ciao, luigi
/ +--[Luigi Rosa]-- \
Alexander Graham Bell is alive and well in New York, and still waiting for a dial tone. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAksx8sIACgkQ3kWu7Tfl6ZT2cwCeJZl7zDIj1vcqKcIUXOVTbrfv AcwAoIo5Yr+mDqvbE16WVAoX5AfgOCLY =dVxA -----END PGP SIGNATURE-----
Bernd Petrovitsch writes:
On Don, 2009-12-17 at 17:04 -0800, Carl Zwanzig wrote:
Lots of it depends on the MTA (general opinion is that postfix seems to be the fastest), connectivity, and list settings (personalized email will take Do I take the flame bait?;-)
Whatever you understand in detail under a "fast MTA" (and even if it would be the case), it doesn't really matter IMHO because
"Fast MTA" does have a meaningful definition in list management. For Mailman purposes, a "fast MTA" is one whose default settings keep the pipe full and reduce the backlog quickly, and (secondarily) uses few host resources in doing so.
I'm well aware that SMTP doesn't mean instant.
I'm just looking at a solution that can cut 1E6 emails being delivered in 12 hours down to say 4 hours. With a fast server, correct MTA optimization and proper Mailman setup could this be attainable?
The Barack Obama email campaign used Postfix for their MTA and PHP Mailer to deliver their newsletters.
I'm using a package install of Mailman along with Exim through cPanel. I now know that this setup is not optimal and needs lots of tweaking. I'm looking into VERP also based on helpful information in the FAQs.
Bernd Petrovitsch-2 wrote:
On Don, 2009-12-17 at 17:04 -0800, Carl Zwanzig wrote:
Lots of it depends on the MTA (general opinion is that postfix seems to be the fastest), connectivity, and list settings (personalized email will take Do I take the flame bait?;-)
Whatever you understand in detail under a "fast MTA" (and even if it would be the case), it doesn't really matter IMHO because a) Email/SMTP never was anywhere near "realtime" (though many people expect mails to be delivered in seconds), b) if your local Internet connection is too small, it doesn't help to have the fastest MTA[0], c) the local MTA resolves various hostnames and that could be "slow" and will involved timeouts (where every MTA out there just can wait)[0], d) if your hardware (RAM, disks) are too small or slow, the MTA really can't do anything (and I expect all widespread MTAS to reasonably minimize the I/O and memory anyways). That may be irrelevant on the usual small mailserver with average nowadays hardware but if you have e.g. a small ISP with >25K mailboxes and (on the average) 1E6 mails per day ("after" using DNSBLs blocking lots of spam/viruses before even sending "EHLO"), it looks quite different, e) b) for the remote MTA - but you have absolutely no influence on the remote side[0], f) c) for the remote MTA - but you have absolutely no influence on the remote side[0], g) the remote MTA may do extensive spam/virus checking, grey-listing, ... - taking time - causing "slow" mail delivery you have absolutely no influence on the remote side[0]. Of course the timeouts and waiting from above cost next to no resources/performance locally (so the MTA(s) usually deliver several emails in parallel without any problems as long as the box(es) do not trash) but it costs total time (which makes email delivery "slow").
So I don't think that saving 10% (or even 50%) local "speed" will make a significant difference (perhaps if you have a *really* large setup - but even then deploying one more box is cheaper than investing a day to improve the local performance. OK, saving a box is better for the world as such ....).
Bernd
[0]: And changing the local MTA won't solve that.
mobil: +43 664 4416156 http://bernd.petrovitsch.priv.at/ Linux Software Entwicklung, Beratung und Dienstleistungen
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2690... Sent from the Mailman - Users mailing list archive at Nabble.com.
On Dec 23, 2009, at 1:12 PM, Derrick Wooden wrote:
I'm well aware that SMTP doesn't mean instant.
Regretfully, you are the exception. Most people don't seem to get this concept -- even people like my wife, and I've been trying to pound this one into her brain for ten years.
I'm just looking at a solution that can cut 1E6 emails being delivered in 12 hours down to say 4 hours. With a fast server, correct MTA optimization and proper Mailman setup could this be attainable?
I believe so, yes. However, optimization would have to be done at all levels, not just the MTA.
If you've got that many recipients, then you're probably seeing a lot of Python pickle contention during initial list delivery, and you'd want to break that down into a number of sub-lists. If you have a million recipients, then a thousand sublists with a thousand subscribers each would probably be overkill, but a hundred sublists with ten thousand subscribers each probably would not be enough.
Using postfix, you can tune things for maximum parallelization, and eliminate things like unnecessary DNS queries and blacklist checks on outbound (because you've already done them on inbound, or it's an announce-only list and they don't need to be done at all). You can also tune things so that any messages which don't get delivered right away can get pushed off onto another "slow delivery" server, thus keeping the primary server pumping as fast as possible. For an announce-only list, you might also want to consider putting the primary mail queues on solid-state disk -- you shouldn't need a particularly large SSD for the primary server if the "slow delivery" server has sufficient storage.
Your primary bottlenecks are going to be disk latency and locking contention. If you can eliminate or minimize those, everything else should flow as fast as your Internet connection allows.
The Barack Obama email campaign used Postfix for their MTA and PHP Mailer to deliver their newsletters.
How many people did they deliver to? How many machines did they have doing delivery? How often did they send out messages? How large were those messages? Did they do DKIM signing on each message? There's lots of variables here that could affect their numbers relative to what you might be able to achieve.
I'm using a package install of Mailman along with Exim through cPanel. I now know that this setup is not optimal and needs lots of tweaking. I'm looking into VERP also based on helpful information in the FAQs.
I've done the best I can to encode as much of my knowledge as possible into the FAQs. Pretty much everything is there, or I point to references where the rest of the information can be found. The key is knowing what you're looking for and when you've found it.
-- Brad Knowles bradknowles@shub-internet.org LinkedIn Profile: http://tinyurl.com/y8kpxu
Adam McGreggor-2 wrote:
You've not said which MTA, how that's been tweaked, how the spools are handled (or indeed, partitioned), what else the machine's doing, the connectivity of the machine, ISP infrastructure, destination servers, geography/latency, or a ~bundle~ of other things.
The MTA is Exim. I paid someone to set up this server for Mailman 3 years ago, but am not certain about partitioning. I have access to the dedicated server. If given directions I could give you which ever settings are needed.
The 4 partions are: /dev/sda5, mounted at / [root] (227GB/136GB free) /dev/sda1, mounted at /boot (99MB/78MB free), /dev/sda3, mounted at /tmp (1012 MB/927MB free), and /tmp, mounted at /var/tmp (also 1012MB/927MB free)
The machine only has one domain on it and is used specifically for newsletters using Mailman. Nothing else. Not even website pages. The server is hosted by ThePlanet.com and the servers were in Houston when this was setup 3 years ago.
Adam McGreggor-2 wrote:
On Thu, Dec 17, 2009 at 04:14:03PM -0600, Derrick Wooden wrote:
I will be upgrading to: Xeon 3450 - SATA - Quad Core 2.66 GHz - 250 GB IDE/SATA, 7200rpm - 4GB DDR3 RAM; RedHat/cPanel
Regarding cPanel, see http://wiki.list.org/x/sYA9.
and wanted to know if my email deliver would be much faster.
You've not said which MTA, how that's been tweaked, how the spools are handled (or indeed, partitioned), what else the machine's doing, the connectivity of the machine, ISP infrastructure, destination servers, geography/latency, or a ~bundle~ of other things.
Any assistance/direction with server configuration would be greatly appreciated.
There have been some recent posts on this, that I didn't pay much attention to, but they'll be in the list archive. ISTR djb's Qmail being involved by the OP, and others suggesting the use of a different MTA.
-- Go mad this weekend: buy some beef! (advert at a supermarket)
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2683... Sent from the Mailman - Users mailing list archive at Nabble.com.
Additional information:
Mailman 2.1.11.cp3 MTA - Exim 4
Exim Config: queue_only
#smtp_connect_backlog = 200 #smtp_accept_max = 500
auto_thaw = 1d ignore_bounce_errors_after = 12h timeout_frozen_after = 2d
split_spool_directory = yes queue_run_max = 20 remote_max_parallel = 20 smtp_connect_backlog = 50 smtp_accept_max = 100 deliver_queue_load_max = 25
# turn off writing of logs to /var/spool/exim_incoming/msglog/ no_message_logs
Derrick Wooden wrote:
Adam McGreggor-2 wrote:
You've not said which MTA, how that's been tweaked, how the spools are handled (or indeed, partitioned), what else the machine's doing, the connectivity of the machine, ISP infrastructure, destination servers, geography/latency, or a ~bundle~ of other things.
The MTA is Exim. I paid someone to set up this server for Mailman 3 years ago, but am not certain about partitioning. I have access to the dedicated server. If given directions I could give you which ever settings are needed.
The 4 partions are: /dev/sda5, mounted at / [root] (227GB/136GB free) /dev/sda1, mounted at /boot (99MB/78MB free), /dev/sda3, mounted at /tmp (1012 MB/927MB free), and /tmp, mounted at /var/tmp (also 1012MB/927MB free)
The machine only has one domain on it and is used specifically for newsletters using Mailman. Nothing else. Not even website pages. The server is hosted by ThePlanet.com and the servers were in Houston when this was setup 3 years ago.
Adam McGreggor-2 wrote:
On Thu, Dec 17, 2009 at 04:14:03PM -0600, Derrick Wooden wrote:
I will be upgrading to: Xeon 3450 - SATA - Quad Core 2.66 GHz - 250 GB IDE/SATA, 7200rpm - 4GB DDR3 RAM; RedHat/cPanel
Regarding cPanel, see http://wiki.list.org/x/sYA9.
and wanted to know if my email deliver would be much faster.
You've not said which MTA, how that's been tweaked, how the spools are handled (or indeed, partitioned), what else the machine's doing, the connectivity of the machine, ISP infrastructure, destination servers, geography/latency, or a ~bundle~ of other things.
Any assistance/direction with server configuration would be greatly appreciated.
There have been some recent posts on this, that I didn't pay much attention to, but they'll be in the list archive. ISTR djb's Qmail being involved by the OP, and others suggesting the use of a different MTA.
-- Go mad this weekend: buy some beef! (advert at a supermarket)
Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/lists%40nabble.com
-- View this message in context: http://old.nabble.com/Increasing-the-Speed-of-Email-Delivery-tp26837149p2683... Sent from the Mailman - Users mailing list archive at Nabble.com.
participants (8)
-
Adam McGreggor
-
Bernd Petrovitsch
-
Brad Knowles
-
Carl Zwanzig
-
d-woo
-
Derrick Wooden
-
Luigi Rosa
-
Stephen J. Turnbull