A customer of mine came with a problem. A eCommerce website was becoming unresponsive from time to time.
After measuring server’s performance I found that it happens when marketing manager sends a newsletter to subscribers.
It turned out that the newsletter was sent to thousands of subscribers by email and SMS at once. When they came to the website at the same time, host was not able to serve them all.
Even if website content is optimized for size and do not generate much traffic, there was too many opened TCP connections. Queue of TCP connections became too long and server was DoS‘ed.
In this particular server number of opened TCP connections was limited to 140 and this limit was achieved. My compliments to marketing manager! Well done! So many customers!
Now, when it became clear what the problem is, the question was what to do with that and how to serve all the visitors.
The described problem could happen even in usual supermarket. And there are days when this situation happens. For sample on BlackFriday too many people come to buy, supermarket is not able to serve all the visitors, queue is growing, growing, growing… And finally it becomes so long that new visitors do not enter, but go away at once.
The best practice in this situation is to take into account that any system could serve limited number of people per minute/hour/day. And marketing plan should redistribute the stream of leads.
For sample, the most easy thing is to send SMS messages on one day and email newsletter on another one.
Also it is a good idea to limit of number of emails sent per hour. You can split list of recipients into parts and make a pause between sending these parts. Good service providers and/or software allows to limit email sending rate.
And in case number of leads becomes too high, you should have a way to pause sending emails/SMS/other messages. Having emergency brake makes life much safer.