Trying to learn how Mautic manage sends and queues and if it could be a solution for sending 350k emails in one hour, I can’t find the answer for these questions in the source code:
Scenario:
- 1 Mautic (4.0.1) machine (4 cores, 16GB RAM).
- Dedicated DB. Always under 35% of its capacity (CPU & Memory).
- Sparkpost Premium account. Dedicated IP.
- 400k emails to send.
Tests:
- Using SMTP & Send Inmediately: 300 emails / minute (aprox).
- Using API Key and Send Inmediately: 600 emails / minute.
- Using API Key and email queue: 550 emails / minute.
- Using 5 concurrent mautic:emails:send with Queue and Sparkpost Api method: 900 emails / minute.
We are far away to archive the 5k/minute goal.
Questions:
- Does Mautic send emails in batches when using the queue method? Sparkpost recommends sending 2k emails per API call, but I think the queue method sends one email once.
- Is it safe to run various concurrent mautic:emails:send processes? Could it increase the send speed?
- Is there some way to run a few concurrent mautic:broadcasts:send jobs with Send Inmediatelly setting to increase speed?
- Is it safe to implement an external process to manage and send all emails serialized from the queue folder? Does Mautic do something when processing these files?
I performed many searches at the source code but could not found a clear answer.
Please can you help me?