Symptoms

  • “503 Service Unavailable” or “Service Temporarily Unavailable.”
  • The whole site is down briefly, then recovers.
  • It coincides with traffic spikes or a scheduled job.

What causes 503 Service Unavailable

  • The application is in maintenance mode (e.g. a framework’s “down” flag).
  • The backend pool has no healthy instances, or all workers are busy.
  • CPU, memory, or connection limits are exhausted.
  • A dependency (database, cache, queue) is unavailable.

How to fix it

  1. Check whether the app is in maintenance mode or the load balancer shows zero healthy targets, and bring instances back up.
  2. Inspect CPU, memory, worker count and connection limits; scale out or raise limits to match demand.
  3. Restart the service, clear any stuck queue or cache, and confirm dependencies are reachable.

Terminal / CLI command

curl -o /dev/null -s -w "%{http_code} %{time_total}s\n" "https://example.com/"

Run it a few times to see whether 503s are constant or intermittent, and how response time behaves.

How to confirm the fix: The site returns 200 steadily, including during the traffic pattern that triggered the 503.

Prevent it from coming back

Right-size autoscaling, add health checks, and use a real maintenance page with Retry-After for planned work.