Skip to main content

High traffic after sending out mass mailing brings down server with 3 WP accounts

Comments

5 comments

  • TechAmigo Support

    Hello ,

    When sending bulk emails from the website, multiple database queries are executed simultaneously. This can overload the CPU or RAM, leading to high server resource usage and resulting in 500 or 503 errors on the website. Since you’re not planning to upgrade your VPS, it’s better to limit the email sending rate to prevent resource exhaustion.

    For example, if your server can handle around 10,000 emails per hour, consider reducing the rate to 5,000 per hour to maintain stability. Additionally, review and optimize your MariaDB (my.cnf) configuration for better performance—focusing on parameters like innodb_buffer_pool_size, max_connections, and query_cache_size.

    To simplify optimization, cPanel has recently added a tool inside WHM: WHM >> Edit Database Configuration. This tool provides recommendations tailored to your specific server based on its current workload, which can help you fine-tune your MariaDB settings more effectively.


    0
  • mtindor

    Considering you only have three sites, did you ever consider putting them behind Cloudflare?   Despite the issues you report with caching plugins, that might not happen with Cloudflare doing the caching (although we cache on the server side and at CF).

    If you're SQL tables aren't all InnoDB, I'd suggest you consider converting them to InnoDB.  (of course, if you do that you'll have to retune MySQL for the increased usage of InnoDB)   I've found the "Index WP MysQL For Speed' plugin quite useful.

     

     

    0
  • TechAmigo Support

    Hello maestroc,

    In addition, to help improve your site's performance and better handle traffic surges, especially during events like mailings, we recommend implementing the following strategies.

    • Implement a caching service like Redis or Memcached can significantly reduce database load by storing frequently accessed data in memory, leading to faster response times.
    • Setting up Nginx as a reverse proxy in front of your server can efficiently serve static content and manage connections. A major benefit is, which can serve entire pages without hitting the PHP/MySQL backend for returning visitors.
    • We strongly recommend placing your site behind Cloudflare. Enabling features like "Under Attack Mode" during high-traffic events (like mailings) will help mitigate bot traffic and DDoS attempts before they reach your server.
    • For optimal performance with limited resources, you might consider LiteSpeed Web Server. It is highly efficient and offers excellent compatibility with existing setups.

    We believe these steps will greatly enhance your platform's stability and speed during any events. Please let us know if you have any questions or need further clarification.

    Regards,
    TechAmigo Support

    0
  • NightStorm

    Have you reached out to your host yet to see if maybe they are throttling the service, due to how close it is between the issues, and all the emails being sent out?

    0
  • Jcats

    TechAmigo Support ChatGPT Champion over there.

    maestroc This is a super common issue and can almost guarantee you its due to a link checking service, example Microsoft:

    https://learn.microsoft.com/en-us/defender-office-365/safe-links-about

    For every single email you send out, regardless if each email contains the same link, that service will check every single link in the email for every email received.  Regardless if the actual recipient is looking at the email.  If you are not using caching then this traffic especially on a mailing list that large will easily overwhelm your server.  Even if you are caching, if you are using UTM tracking paramters or any kind of querystring that will most likely bypass the cache, especially if the value of the parameter is unique per link.

    The best way to deal with it is use Cloudflare to cache your HTML and also ensure you are ignoring querystrings that are tied to those links, usually you will have for example: utm_medium=email

    So if the URL contains utm_medium=email, ignore querystrings this way it serves a cached page since Cloudflare treats every URL and parameter/value as a unique link it requires its own cache hence a endless chain of uncached hits = your server goes down.

    You can also block Microsoft's ASN(Excluding verified bots) AND if the URL contains that querystring, but this usually then marks the link as unsafe and may prevent visitors from clicking the links then, usually only necessary if caching is not possible.

    Hope this helps.

    0

Please sign in to leave a comment.