PmaControl logo PmaControl
  • Home
  • PmaControl
    • AI Agents 13 on-premise agents
    • Plans Community, Cloud, On-Premise, Premium
    • Documentation Guides, API, architecture
    • Changelog Every stable 5.x release
    • Marketplace Community plugins
    • Clients 28+ companies
    • FAQ 25 questions / 7 categories
    Databases
    • MariaDB 35 articles
    • MySQL 15 articles
    • Galera Cluster 6 articles
    • MaxScale 4 articles
    • ProxySQL 3 articles
    • Amazon Aurora MySQL 0 article
    • Azure Database 0 article
    • ClickHouse 0 article
    • GCP CloudSQL 0 article
    • Percona Server 0 article
    • SingleStore 0 article
    • TiDB 0 article
    • Vitess 0 article
    Solutions
    • Support 24×7 MariaDB & MySQL emergencies
    • Observabilité SQL Monitoring, alerts, topology
    • Haute disponibilité Replication, failover, Galera
    • Disaster Recovery Backup, restore, RPO/RTO
    • Sécurité & conformité Audit, GDPR, SOC2
    • Migration & upgrade Zero downtime, pt-osc, gh-ost
  • Plans
  • Resources
    • Documentation Technical guides & API
    • MySQL optimization center Markdown index, metrics, parameters, incidents
    • FAQ 25 frequently asked questions
    • Testimonials Client feedback & use cases
    • Blog Articles & insights
    • Roadmap Upcoming features
    Areas of expertise
    • Observabilité SQL Monitoring, alerts, Dot3 topology
    • Haute disponibilité Replication, failover, Galera
    • Sécurité & conformité Audit, GDPR, SOC2, ISO 27001
    • Disaster Recovery Backup, restore, RPO/RTO
    • Performance & optimisation Digests, EXPLAIN, tuning
    • Migration & upgrade Zero downtime, pt-osc
    Quick links
    • GitHub Wiki 26 pages — install, engine, plugins
    • Source code Official GitHub repository
    • Support 24×7 MariaDB & MySQL emergencies
    • Book a demo 30 min — real architecture
  • Support 24×7
  • Book a demo
Book a demo
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
Resources › MySQL optimization center › Performance Evaluation Page

Performance Evaluation Page

Structured Markdown documentation to diagnose, measure, and optimize MySQL.

This page is original PmaControl documentation. It keeps a practical index structure for MySQL optimization work, without copying third-party content or depending on an external product.

Objective

The performance evaluation page aggregates the main signals of a MySQL server into one reading. It is used to prioritize actions, not to replace DBA analysis.

Useful Dimensions

  • Configuration: consistency of variables with memory, storage, and workload.
  • Queries: weight of slow and frequent queries.
  • Schema: indexes, primary keys, volume, and temporary tables.
  • Stability: restarts, connection errors, deadlocks, and thread saturation.
  • Capacity: CPU, I/O, QPS, connections, and disk-space trends.

Example Grid

Axis Signal Priority
Memory Buffer pool too small or swapping High
Queries 5 digests consume most of the time High
Schema Critical tables without suitable indexes Medium to high
Connections Max_used_connections close to max_connections Medium

Key Point

A global score has value only if it remains explainable. Every point must lead to a metric, a query, or a verifiable configuration.

Define what is being evaluated

Create one dated assessment per server role and representative workload. Record the observation window, data freshness, version, topology, hardware limits and business objective. Include the application and proxy path when evaluating user latency. A writer, reporting replica and standby do not share the same acceptable workload or risk. This guide describes a review method; the tables below are templates, not measured results or an automatically computed PmaControl score.

SELECT NOW() AS observed_at, @@hostname AS hostname,
       VERSION() AS server_version, @@global.read_only AS read_only;
SHOW GLOBAL STATUS WHERE Variable_name IN (
  'Uptime', 'Questions', 'Threads_connected', 'Threads_running',
  'Connection_errors_max_connections', 'Innodb_log_waits',
  'Innodb_buffer_pool_reads', 'Innodb_buffer_pool_read_requests'
);

Build an evidence-based assessment grid

Axis Evidence Question to answer
Availability Real client path, restarts, current errors Can the intended service complete work now?
Queries Digests, plans, request percentiles Which workload consumes the time budget?
Memory and I/O RSS, memory pressure, read/flush latency Is the host limiting useful throughput?
Schema Critical tables, index use, growth What structural cost is confirmed by a plan?
Recovery and security Restore test, replica watermark, grants, TLS Are data-loss and access risks acceptable?

Mark missing, stale or disabled instrumentation as unknown. A missing metric must not turn green or contribute a fabricated zero. Keep observation, interpretation and proposed action separate. A buffer-pool miss ratio, a historical connection peak or an unused-index list needs workload context before it becomes a finding.

Prioritize by impact, urgency and confidence

  • Critical: current outage, imminent storage exhaustion, confirmed unacceptable data-loss or access exposure.
  • High: repeated latency/error objective breaches or growing pressure with a confirmed mechanism.
  • Planned: measurable cost or risk without current impact; schedule a controlled validation.
  • Unknown: insufficient evidence; assign data collection instead of declaring success.

Make before/after results comparable

Measure Unit and collection method
Client latency p50/p95/p99 ms, same endpoint and request distribution
Useful throughput and errors completed operations/s and failed/total requests
Resource cost and safety CPU %, RSS MiB, I/O latency ms, lag s, identical results

Keep hardware, data, traffic mix, concurrency and cache state comparable; record any differences and repeat trials. Database counters need deltas and reset checks. Digest averages are not request percentiles. Report gains and regressions together, retain raw evidence and leave unmeasured fields empty or explicitly unknown. Define acceptance and rollback before the test; a throughput increase accompanied by more failures is not automatically an improvement.

Close the loop with a finding record

For every finding, retain the affected server/query, timestamp, evidence link, confidence, business impact, owner, next action, due date, acceptance test and rollback plan. After remediation, attach the measured result and residual limits; recheck during peak traffic and the next full business cycle. Do not close a finding solely because a setting changed or a global score improved.

Continue the investigation

  • Collect evidence with health, schema and security checks; validate actions through tuning and parameter review.

Official references

  • MySQL Performance Schema
PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
Legal notice GitHub Contact
Do not wait for an incident to understand your architecture. © 2014-2026 PmaControl — 68Koncept