Uptime shows website down but it is not

The uptime shows YOUR WEBSITE IS DOWN and SOCKET TIMEOUT. but my website is up and running.

  • Adam Czajczyk
    • Support Gorilla

    Hello ninjamonk

    I hope you're well today and thank you for your question!

    The way Uptime monitoring works is that every two minutes it's trying to fetch your site in a similar way that the browser does (though it's fetching only headers and not entire site). The connection speed might - and usually does - depend on various factors such as:

    - the end point that we're testing it with
    - current load of internet connections throughout all the way from the given endpoint to your site
    - current load of the server your site's in
    - current performance of the site

    Those are most "obvious" factors. The Uptime check requests the site and waits for it to respond with a proper HTTP header. If it receives it within a given timeframe - which is, if I'm not mistaken, 30 seconds - it considers it up but if it doesn't receive it or receives some error in response, it assumes that site is down. It might lead to the cases when the site is really up but it is reported as down because it responded too slow.

    Please note that the fact that you or me can load the site relatively fast doesn't mean that it will be loaded equally fast from each and every location over the word. This is something that might affect this quite a lot.

    I checked the site using Pingdom Tools from different locations and it seems that the differences are quite significant, depending on from where the site is loaded. Also, if you take a look at the Uptime chart in The Hub for your site, you'll notice that there are some pretty long response time listed, going over 14,000 ms and even over 20,000 (which equals to 14 and 20 seconds). Those are these that didn't cause the "site down alert".

    That would mean that the site is indeed responding too slow, sometimes, to our Uptime check calls. The "socket timeout" error confirms that as it actually means that the connection was "requested" but the webserver closed it, not being able to respond within configured time frame (which actually doesn't mean our Uptime check 30 seconds in this case but the configuration of your server).

    This can happen for a number of reasons but one thing that I'd recommend checking with would be server logs. There should be all the Uptime check attempts recorded and that could show if, for example, some of them were rejected by your server and for what reason. Your host should be able to help you with that.

    This is important because as Uptime requests the site each 2 mintues, it's possible that server actually automatically starts rejecting these requests over some time - as a sort of "DDos" and similar attacks protection. I've seen this already done and the only way deal with it was to "loosen up" those rules by the host in server configuration or white-listing our Uptime check by the host. I'm not saying for sure that this is the culprit but it's one of the possible causes of such issue.

    That being said, could you please consult your host and ask them about this and let me know?

    If that's the reason, they should be able to fix that in no time but if not, we'd at least be able to rule that out in order to look for other possible causes.

    Kind regards,
    Adam.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.