Applies to: All plans.
If your site feels slow and your database is the bottleneck, the most common causes are slow or inefficient queries, missing database indexes, and heavy or badly-behaved plugins — and on our platform MySQL Governor steps in to stop one heavy database from dragging down the whole server. This article helps you spot the cause and fix it.
Symptoms
- Pages that read or write a lot of data load slowly, while static pages feel fine.
- Your account briefly hits its CPU limit and visitors occasionally see a 508 "Resource Limit Reached" error.
- A WordPress admin area, search, or import is sluggish.
- Your resource-usage graphs in cPanel spike when database-heavy pages are hit.
Common causes (most likely first)
- Heavy or badly-coded plugins/extensions. "Related posts", live search, statistics, analytics, broken-link checkers, and some page builders run expensive queries on every request.
- Missing indexes. A table without the right index forces MySQL to scan every row, which is slow and CPU-hungry as your data grows.
- Slow or repeated queries. The same query running on every page load, or a query that joins large tables, adds up fast.
- An over-large or unoptimised database. Bloated tables (post revisions, expired transients, log/spam tables) make every query do more work.
- No caching. Without caching, every visitor re-runs the same queries instead of being served a cached copy.
- Genuinely outgrowing your plan. A busy site can simply exceed the CPU/memory headroom of a smaller plan.
How MySQL Governor protects the node
Your account runs inside its own CloudLinux container with set limits (CPU/SPEED, memory, IO and more). On top of that, MySQL Governor watches the database load each account generates and smooths out accounts that get too heavy, so a single runaway query cannot starve everyone else on the node. When your account pushes past its limits, requests are briefly queued or rejected and a visitor may see a 508 page — this is not a full outage, and it clears as soon as usage drops. The fix is always to reduce the load (or move up a plan), not to keep retrying.
Quick fixes
- Turn on caching first. On WordPress we run LiteSpeed, so install the LiteSpeed Cache (LSCache) plugin — it serves cached pages and cuts database queries dramatically. See How to speed up WordPress with LiteSpeed Cache.
- Find the heavy plugin. Deactivate suspect plugins one at a time (related posts, live search, stats, link checkers) and re-test. When load drops, you have found the culprit — replace it or leave it off.
- Optimise your tables. In cPanel -> Databases -> phpMyAdmin, open your database, tick the tables and choose the option labelled Optimize table. For WordPress, also clear post revisions, expired transients, and spam.
- Add the missing index. If a specific query is slow, add an index on the column(s) it filters or joins on. In WordPress this is often handled by a reputable database plugin; otherwise add it in phpMyAdmin under the table's Indexes section. If you are unsure which index to add, send us the slow query and we will advise.
- Use a modern PHP version. A current PHP (for example 8.x) is usually faster. Set it per-domain in cPanel -> Software -> MultiPHP Manager. See How to choose the right PHP version for performance.
- Check your usage. Open the resource-usage / CloudLinux statistics tools in cPanel to see whether you are hitting CPU, memory or IO limits, and when. See How to read your resource-usage stats in cPanel.
Result: With caching on, the worst plugin removed, and your tables optimised, database load typically drops sharply and the 508 errors stop.
If that did not work
- Identify the worst offender. If you can still see the load in your resource-usage stats but cannot pin down the query, contact us with your domain and when the spikes happen — we can look at the database activity on the node.
- You may have outgrown your plan. If your database is healthy but the site is simply busy, the answer is more headroom. See When should I upgrade my plan?.
- On Managed? Performance tuning is part of what we handle for you — open a chat and we will dig in. (Self-Managed is self-serve, so we will point you to the right fix rather than make the change for you.) See What our support covers.
Comments
0 comments
Please sign in to leave a comment.