117 - Service Unavailable

How To Code Well - A podcast by Peter Fisher - Fridays

Categories:

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