Comments (11)
I'll try to replicate this. There are two possible reasons for slow sending, either there's something wrong in database or delivering to STMP. Btw. which SMTP provider do you use?
from mailtrain.
We use AWS SES for sending and our rate allowed supports up to 1m day.
I was able to notice the app server was not that busy during this period. It was running less than 10% CPU on a AWS EC2 t2.nano. We were using AWS RDS MySQL t2.micro for the database and increasing to t2.medium definitely improved performance. However, the rate seemed far below what you'd expect thus, my feeling it being a unintended bottleneck of some kind in the DB like a missing index or untuned query.
from mailtrain.
Ok, sounds like a db issue indeed. I'll create a large subscriber list in my test instance and send messages to a local SMTP that forwards these to /dev/null. This way I should end up in the same situation if there's something going on with the db
from mailtrain.
Yes, I can definitely confirm that the sending gets slower in time, here's a graph for a 21 minute run:
I'll try to find out from where the delay actually comes from
from mailtrain.
The culprit turned out to be the query to find next unsent message. I updated it to fetch several messages at once instead of doing it one by one. Once you have sent a large amount of messages this query gets slower since checking unsent status takes more time. The updated code in master is now optimized. I did not tag it yet since I broke "pause" button – pause stops fetching new messages but if you have already cached a list of unsent messages then these cached messages are sent regardless if you pressed paused or not.
from mailtrain.
Excellent! I'll pull the latest and give it a try. Thank you.
from mailtrain.
I did some additional tweaks and tagged Mailtran as version v1.10.1. The database performance is much better and such slow downs should not happen anymore
from mailtrain.
Excellent! I've updated and will send another campaign through this coming weekend.
from mailtrain.
Good news. The performance was increased and I was able to send entire list within one day using the new version.
from mailtrain.
Awesome!
from mailtrain.
Hi @andris9 ,
We are facing this exact same issue. We sent out a campaign to 800k subscribers, initial 60-70k mails got sent really fast, but after that it was like 2-3 mails per second. What could be the issue? Version in package.json is 1.23.2
from mailtrain.
Related Issues (20)
- V2 Translation Localization Open Source project approved on Poeditor - add your language HOT 1
- Please document user privacy extensively HOT 1
- Mailtrain_1 exit code 1 - Docker compose HOT 1
- Mail Train | Gmail API HOT 1
- Mailtrain | cPanel HOT 1
- CAS not working in docker HOT 1
- Tutorial on how to use transactional API HOT 1
- List-Unsubscribe-Post HOT 1
- create user/namespaces and send config from api, npm or database HOT 1
- Is this project an abandonware? HOT 8
- Delete all resources in namespace HOT 2
- Mailtrain v3 - Development HOT 18
- Maltrain v3 - Feature Requests HOT 7
- One subscriber in multiple lists HOT 1
- What are the supported / working nodejs versions HOT 1
- Can't Send Emails. _senderTimeToNextEnabledDay in mailer.js broken v2 [Temp Fix included]
- from lists, to segments, to channels to triggered campaign.
- CKEditor 4 is not secure HOT 1
- Trying run the docker containers but returns nothing? HOT 4
- TypeError: Cannot set property 'expires' of undefined
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mailtrain.