If your website shows database connection errors or intermittent 503 Service Unavailable pages, and your PHP error_log contains a message like the one below, your database has been temporarily restricted for using too much server resource.

PHP Fatal error: Uncaught mysqli_sql_exception: User 'example_user' has exceeded the 'max_user_connections' resource (current value: 1)

 

Why is the limit only 1?

Under normal conditions your database users do not have a low connection limit. Our servers run MySQL Governor, which watches how much CPU and disk activity each account's databases use. When an account's database usage goes well over its allocation, MySQL Governor temporarily restricts that account, and one of the effects is that connections are limited to 5.

While the restriction is active, any page that needs a second database connection at the same time (for example two visitors, or one page making several AJAX requests) will fail with this error. Once the restriction period ends, the limit returns to normal automatically.

This means raising max_user_connections will not fix the problem. The fix is to reduce the database workload that is triggering the restriction.

 

How can I confirm this is what's happening?

  1. Log in to cPanel and open Resource Usage (under Metrics).
  2. Look for periods where the account was limited, particularly on CPU or MySQL usage.
  3. Compare those times with the timestamps of the errors in your error_log. If the errors happen just after a limit was reached, the restriction is the cause.

 

Common causes

  • Heavy reports or statistics pages that recalculate large amounts of data every time the page loads.
  • Several chart or AJAX requests firing at once from the same page, each running its own expensive query.
  • Missing database indexes, causing queries to scan whole tables.
  • Bots and crawlers (including AI crawlers that ignore robots.txt) hitting search, forum or report pages repeatedly.
  • Out-of-date or faulty plugins in WordPress and other CMSs running slow queries in a loop.
  • Backup plugins dumping the database during busy periods.

 

How to fix it

Ask your developer to review the following:

  • Cache or precompute results: save calculated statistics and refresh them periodically or when the data changes, instead of recalculating on every page view.
  • Review slow queries and indexes: check execution plans (EXPLAIN) and make sure filters and joins use appropriate indexes.
  • Reuse one connection per page load: open a single database connection and use it for all queries on that request.
  • Reduce simultaneous requests: load charts progressively and stop overlapping requests when filters change.
  • Use smaller default date ranges and pagination on large reports and tables.
  • Summarise or archive historical data that is rarely needed in full.
  • Block abusive bots and consider caching (for example the LiteSpeed Cache plugin for WordPress).

For WordPress sites, see also Using XRAY PHP to diagnose a slow WordPress website and What are resource limits?

 

Still being restricted after optimising?

If your site's normal workload genuinely needs more database capacity, a larger plan may be the right fit. You can compare options from Services → My Services → your service → Upgrade/Downgrade, or open a support ticket and we'll review the account's usage with you.

Was this answer helpful? 0 Users Found This Useful (0 Votes)