back to phpList.org

Problems with Sending speed


#1

I am attempting to send to a list of around 60,000 email addresses. We recently moved to a dedicated server at HostGator and they say there are no limitations. We are using a Cloud Based SMTP server to send and I have the system able to send unlimited messages per hour. However, it never seems to be able to send more than 4,000 to 6,000 per hour. My old system at Dreamhost reach 12k to 15k per hour so this should be able to do the same. Is there a setting I haven’t found that limits the number of messages per hour?

My latest change was to run the CRON job hourly with a length of 55 minutes to send an unlimited number of messages but still not working. Your assistance would be much appreciated.

Doug D


#2

Just a quick question about permissions. I know that was the error when trying to get the wysiwyg editor to function early on in the transition.


#3

What are your batch settings?

# define the amount of emails you want to send per period. If 0, batch processing
# is disabled and messages are sent out as fast as possible
define('MAILQUEUE_BATCH_SIZE', 0);

# define the length of one batch processing period, in seconds (3600 is an hour)
define('MAILQUEUE_BATCH_PERIOD', 3600);

# to avoid overloading the server that sends your email, you can add a little delay
# between messages that will spread the load of sending
# you will need to find a good value for your own server
# value is in seconds, and you can use fractions, eg "0.5" is half a second
# (or you can play with the autothrottle below)
define('MAILQUEUE_THROTTLE', 0);

#4

Here is that info pasted from my web site:

# define the amount of emails you want to send per period. If 0, batch processing
# is disabled and messages are sent out as fast as possible
define("MAILQUEUE_BATCH_SIZE",0);

# define the length of one batch processing period, in seconds (3600 is an hour)
define("MAILQUEUE_BATCH_PERIOD",3300);

# to avoid overloading the server that sends your email, you can add a little delay
# between messages that will spread the load of sending
# you will need to find a good value for your own server
# value is in seconds, and you can use fractions, eg "0.5" is half a second
# (or you can play with the autothrottle below)
define('MAILQUEUE_THROTTLE',0);

I recently changed the CRON job to fire every hour instead of every two but it still won’t send more than 5,000 per hour. I don’t think it is the phpList program but I just can’t figure this out.

Thanks for looking into it with me … Doug


#5

Okay Doug, next question, is the above taken from your config/config.php file or config/config_extended.php file?

Although it states that if set to 0, then batch processing is disabled, it might be worth setting size to 10000 and period to 3600 and running it as a trial to see if the rate of sending changes. You may also need to double check with the host as to the limits (if any) that are set.


#6

I would only share the LIVE config.php with you. I’m not crazy. Anyway I can try bumping it up to 10000 per hour for the next run we do.


#7

ok, I’ve made those changes and it STILL won’t send more than 4,000 per hour.


#8

Hello Dougster, I do all set and I can’t send more than 3600msg/h…
I do a test with a server with 64Go ram + SSD + 32core it’s the same…
I feel Phplist limit send rate, I don’t know why…
If you find a trick told us plz
PS: For my part I split mysql and phplist on 15 instances/subdomains and each one send to 900/1200msg/h.


#9

send rate is a function of the phpList settings in the config.php file, and the content of your email, and the ability to connect to your outgoing mailserver, and the ability for the mailserver to connect to others to deliver the message across the internet (via your internet connection), the number of messages that your mailserver can send in parallel, and the speed which phpList can talk to your database.

My experience is that you need to look at all of those issues one at a time, and perhaps run a profiling tool on your phpList host to determine what takes the most time. Once you have a handle on that, then you can look at the code to see how you can speed thing up.


#10

When the CRON job initiates, it sends a message saying how many emails it will send during the next hour. It says 4400 and THAT is all it will try to send. I’m saying there must be a bug that forces it to such a low number when I put in 10000 per hour. Anyway, how does it calculate that number that is emailed out and how do I increase it? If it were TRYING to do 20000 per hour and not getting them done, that would point to the servers having problems. This is looking more like an annoyance in phpList. Thanks again for helping me look into this and getting it resolved.


#11

@Dougster If you disable batch processing and do not have a throttle with

define('MAILQUEUE_BATCH_SIZE', 0);
define('MAILQUEUE_THROTTLE',0);

then phplist will send as fast as it can. As already mentioned by Dan, the actual rate will depend on the responsiveness of the mail server.

If you enable VERBOSE in the config.php file then the event log page will show the timing of each email that is sent.