WordPress Database Performance Triage Checklist

halfbrain_logo512adminJune 13, 2026
3 lượt xem

WordPress Database Performance Triage Checklist

A WordPress site can be slow even when Nginx and PHP-FPM are running. Sometimes the real bottleneck is the database: slow queries, oversized tables, plugin logs, post revisions, transients or weak VPS resources.

Core principle

If dynamic pages are slow but static assets load quickly, the bottleneck may be PHP or database. Database triage helps you separate server availability from query performance.

Checklist

  1. Check whether only dynamic pages are slow.
  2. Check database service status.
  3. Check CPU and RAM usage.
  4. Check database size.
  5. Identify unusually large tables.
  6. Look for plugin tables that store logs or statistics.
  7. Check whether imports, backups or cron jobs are running.
  8. Review slow query logs if enabled.
  9. Clean safely only after backup.
  10. Monitor performance after cleanup or optimization.

Reusable lesson

Not every slow site needs more cache. Sometimes it needs database cleanup, better plugin discipline or more server resources.

Checklist Type Troubleshooting
Level Intermediate
Risk Level Medium Risk
Estimated Time 45–90 minutes

When to Use This Checklist

Use this checklist when WordPress is slow, admin pages lag or database-related operations take too long.

Required Tools

SSH access, MySQL or MariaDB access, WordPress admin, backup, database tool, server monitoring

Before You Start

Back up the database before cleaning tables, deleting plugin data or running optimization commands.

Verification Steps

  1. Database service is stable.
  2. Large tables are identified.
  3. Backup exists.
  4. Admin performance improves.
  5. No important data is removed accidentally.

Rollback Plan

If database cleanup breaks site behavior, restore the database backup and repeat analysis on a staging copy.

Common Mistakes

  • Deleting tables without knowing plugin ownership.
  • No database backup.
  • Blaming Nginx for database slowness.
  • Using cleanup plugins blindly.
  • Ignoring cron and import jobs.

Related Commands

sudo systemctl status mysql
mysql -u db_user -p
SHOW DATABASES;
SELECT table_name, ROUND((data_length+index_length)/1024/1024,2) AS size_mb FROM information_schema.tables WHERE table_schema='database_name' ORDER BY size_mb DESC LIMIT 20;
free -h
top

Share:

Disclaimer: The guides, checklists, commands, and examples on HalfBrain.net are provided for educational and operational reference only. Server environments, hosting providers, software versions, security settings, and WordPress configurations can vary, so you should always review commands before running them on your own system. We do our best to keep the content accurate and useful, but we cannot guarantee that every command, configuration, or recommendation will fit every environment. Always back up your website, database, and server configuration before making changes. HalfBrain.net is not responsible for data loss, downtime, security incidents, misconfiguration, or other issues that may result from applying the information on this website. Use the material at your own discretion.

Leave a Reply

Your email address will not be published. Required fields are marked *