How To Code Well

117 - Service Unavailable


Listen Later

In todays podcast we are going to talk about the 503 HTTP Status Code. 

Error 503 = Service Unavailable 

From the W3C: The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.   

Causes

  •  DDOS attacks will result in high resource usage which will eventually overload the server.  As a result the server will respond with a 503 error code. 
  • A server might be temporarily  un available if it is under going maintenance.  Its a server issue and not a client issue.  So this wouldn’t be an issue with the HTML or CSS or client sided JavaScript  Trouble shooting 
  • Check any monitoring dashboards or graphs for resource hungry trends. - Check the logs to find any server related errors.   
  • Check the logs for access requests to see if its a spike in traffic.  
  • Check if the server is going through an unexpected maintenance  
  • Check for firewall config. Perhaps a firewall on the network is preventing traffic from flowing.  
  • Check for long running scripts that could be causing memory leaks.   
  • Check for disk usage.  Perhaps you are running out of swap space if that’s configured.  
  • Solutions 

    • Stop any jobs that are running 
    • Divert traffic using a load balancer to another server -
    • Scale your application horizontally by bring on other servers/containers to handle the traffic 
    • Have an auto scaler which keeps adding or removing servers/containers when needed - Reboot the server/container
    • Resources:

      https://thevaluable.dev/dry-principle-cost-benefit-example/

      https://metova.com/dry-programming-practices/

      Kick start your tech career with Amarachi Amaechi's new book Getting Started in Tech: A guide to building a tech career

      My web development courses

      ➡️ Learn How to build a JavaScript Tip Calculator 

      ➡️ Learn JavaScript arrays

      ➡️ Learn PHP arrays

      ➡️ Learn Python

      ✉️ Get my weekly newsletter

      ⏰ My current live coding schedule (Times are BST)

      Thursdays 20:00 = Live Podcast YouTube

      Sundays 14:30 - Live coding on Twitch

      ...more
      View all episodesView all episodes
      Download on the App Store

      How To Code WellBy Peter Fisher

      • 5
      • 5
      • 5
      • 5
      • 5

      5

      11 ratings