My server is crashing, I think its due to traffic but I am not sure how to tell



  • My new website has 50,000 views in the first 2 weeks and I have had a couple server crashes. We are getting hit especially hard today with traffic. The crashes are corresponding to when traffic is the highest.

    When the server crashes are happening " There is an error connecting to the Database" Once I reboot everything is fine and dandy. I have had to do this several times today.



  • What OS are you running? What are the server specs? 50K in two weeks is not that much for a web server. It should be able to handle that pretty well even with tiny resources. What platform is the website running on? What database do you have?



  • @scottalanmiller said:

    What OS are you running? What are the server specs? 50K in two weeks is not that much for a web server. It should be able to handle that pretty well even with tiny resources. What platform is the website running on? What database do you have?

    0_1452539509299_2016-01-11_14-11-32.jpg



  • 1GB of RAM is not much for a web server and the database on the same box. Should be okay if tuned, but it does put you as running pretty lean.

    What does SAR tell us about CPU and memory just before the crash(es)?



  • Any reason you chose to run on such an old version of Ubuntu? Should be fine, but 15.10 is current. Each release typically brings more performance and stability, both things that matter for web hosting. Especially as the database and PHP layers tend to get updated as well.



  • Is traffic mostly anonymous users? Or authenticated? If anonymous, install some caching plugins for that Wordpress. If people are logging in, you will probably need memcache and apc.



  • @scottalanmiller said:

    1GB of RAM is not much for a web server and the database on the same box. Should be okay if tuned, but it does put you as running pretty lean.

    What does SAR tell us about CPU and memory just before the crash(es)?

    0_1452539689892_2016-01-11_14-14-35.jpg



  • What about sar -r?



  • @scottalanmiller said:

    What about sar -r?

    I am unfamiliar with that command. How do I run it?



  • @IRJ said:

    @scottalanmiller said:

    What about sar -r?

    I am unfamiliar with that command. How do I run it?

    If it is installed, exactly as I wrote it. If you have not installed it yet get it installed straight away. It's the most important troubleshooting tool on Linux. You use it for everything. Also the most important capacity planning tool. Only thing that collects your performance info and stores it.

    apt-get install sysstat




  • Run sar -r 1



  • @marcinozga said:

    Is traffic mostly anonymous users? Or authenticated? If anonymous, install some caching plugins for that Wordpress. If people are logging in, you will probably need memcache and apc.

    I am using cloudflare for caching which is helping alot. Is there anything else I can do on top of that?



  • 0_1452540099011_2016-01-11_14-21-26.jpg



  • W3 Total Cache or WP Super Cache will cache your pages as static files. No php or database queries will be fired when somebody visits your site.



  • @IRJ it's too late to diagnose your issues now, sysstat has to be there and enabled (an extra step that only Ubuntu requires, heaven only knows why they make things so hard) BEFORE you have a crash. So we need to enable it and then wait for the next crash to see if you ran out of memory just before it went down or to get a decent idea of what had happened.



  • @IRJ said:

    @marcinozga said:

    Is traffic mostly anonymous users? Or authenticated? If anonymous, install some caching plugins for that Wordpress. If people are logging in, you will probably need memcache and apc.

    I am using cloudflare for caching which is helping alot. Is there anything else I can do on top of that?

    Oh yes, that is only a very first step. You want a local cache as well. CF can only offload so much.



  • You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.





  • @scottalanmiller said:

    You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.

    Right. I don't know how WP does this, but Drupal has a module where you pretty much install it and then just tell it which pages you want stored as HTML when people are anonymous.



  • @johnhooks said:

    @scottalanmiller said:

    You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.

    Right. I don't know how WP does this, but Drupal has a module where you pretty much install it and then just tell it which pages you want stored as HTML when people are anonymous.

    WP has a plugin that will do that for the entire site.



  • @scottalanmiller said:

    @johnhooks said:

    @scottalanmiller said:

    You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.

    Right. I don't know how WP does this, but Drupal has a module where you pretty much install it and then just tell it which pages you want stored as HTML when people are anonymous.

    WP has a plugin that will do that for the entire site.

    You can do the entire site with the Drupal one, but I've always used it mostly for anonymous users since that data doesn't usually change as much as areas where they can log in.



  • @johnhooks said:

    @scottalanmiller said:

    You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.

    Right. I don't know how WP does this, but Drupal has a module where you pretty much install it and then just tell it which pages you want stored as HTML when people are anonymous.

    Drupal Boost does this for entire site. It's extremely powerful when cache directory is mounted in memory.



  • @marcinozga said:

    @johnhooks said:

    @scottalanmiller said:

    You can also consider static pages generated from WordPress. It is basically a manual full site cache. No active database connection needed and the speed goes way up. Faster and more reliable, but more work.

    Right. I don't know how WP does this, but Drupal has a module where you pretty much install it and then just tell it which pages you want stored as HTML when people are anonymous.

    Drupal Boost does this for entire site. It's extremely powerful when cache directory is mounted in memory.

    That's the one I was thinking of, I couldn't think of it off the top of my head. It's been a little while since I've built something, but I thought I remembered choosing which sections I wanted cached even with it figuring it out also.



  • I had another crash at 2:53PM. Is there anything I can do to find out what happened?



  • @IRJ Run sar -r and post back here the data.



  • It just crashed again!



  • gonna login and try sar -r again



  • 0_1452543695361_2016-01-11_15-20-15.jpg



  • @IRJ said:

    I had another crash at 2:53PM. Is there anything I can do to find out what happened?

    Look into web server and database logs.


Log in to reply