How Fast Are My Emails Sent?
If you are concerned about the speed of your emails sending to your customer the best way to put you at ease is to know the facts. Let's talk about how emails are sent!
What's the event queue?
You will hear us talk about something called the "event queue." This is essentially a list of things that Groundhogg is supposed to do. Whenever you add a tag, send an email, or start a timer in a funnel an item gets added to this list and when it comes time to do that item, the item will be removed from the list and processed.
Broadcast emails and emails sent from funnels get added to the event queue with the time they are supposed to be sent, and when it gets to that time, Groundhogg will send those emails and remove them from the queue.
How fast is the queue?
The reason we recommend that you set up a cron-job for 1-minute intervals is so that the queue runs as quickly as possible. The queue processes events in batches, usually 50 at a time.
Depending on the type of event, it could take less than a second to process a batch of 50 events, or it may take upwards of a minute.
If the batch takes less than a minute, the queue will try to complete another batch of 50 before PHP runs out of memory or execution time.
How fast are my emails sent?
Sending an email is usually the event that takes the longest to process. Depending on the email service you use that amount of time to send an email varies.
Here are some speed benchmarks:
- AWS SES: 14+ emails per second (depends on your AWS limits)
- MAILHAWK: 5-10 emails per second
- SENDGRID (API): 5-+10 emails per second
- SENDGRID (SMTP): 2-6 emails per second
- PHPMAIL: 1-4 emails per second
So let's assume we are using AWS SES which is currently the fastest option we offer. To send 50 emails it will take 10-25 seconds. Meaning a speed of up to 150 - 300 emails per minute.
Here are the guestimated speeds of different list sizes for a broadcast email:
- 1,000 emails ~ 3 minutes
- 10,000 emails ~ 33 minutes
- 100,000 emails ~ 5 hours
If 5 hours seems like a long time to you, there are some steps you can take to speed up this process.
- Invest in high-quality hosting and the latest version of PHP. When your tech is good, emails are sent faster.
- Enable Parallel Queue Processing.
- Use AWS SES to send your email.