Merry Christmas & Happy 2027! Less downtime. More good times. Celebrating 13 years of sorlavit.com
Skip to content
Sorlavit KimIT Support, Network & Infrastructure Services Let’s talk

ปุ่มแปลไทยจะเปิดบทความผ่าน Google Translate เพื่อแปลอัตโนมัติ โดยคงโค้ดและคำสั่งไว้ตามต้นฉบับ

Data Monitoring / MySQL Monitoring

MySQL: Threads running versus connected

MySQL has many connections but only a few statements executing. Compare Threads_connected and Threads_running with application pool waits.

Compiled for Sorlavit Kim · Published · Updated · 2 min read

Environment and inputs: MySQL 8.4 baseline; Performance Schema consumers, privileges and replication topology affect evidence availability.

Failure scenario

MySQL has many connections but only a few statements executing. Confirm the cause before choosing a fix.

Evidence to collect

Compare Threads_connected and Threads_running with application pool waits. Record the time, affected scope and a healthy comparison interval.

Worked diagnostic example

Read-only MySQL status snapshot; repeat with timestamps to understand behavior over an interval.

SHOW GLOBAL STATUS
WHERE Variable_name IN ('Threads_connected', 'Threads_running', 'Uptime');

Fix the confirmed cause

Separate idle connection inventory from active workload before increasing resources. Write the expected result first. Change one relevant setting at a time.

Check the result and hand over

Repeat the check for threads running versus connected using the same scope and a representative interval. Check that the symptom is resolved, expected records are present and downstream results are correct. If coverage, correctness or latency worsens, restore the recorded configuration through the agreed rollback process.

Scope and precautions

Prefer read-only access and limit queries to the relevant period or dataset. This example has not been tested on your systems. Test changes in an approved environment. Keep credentials and sensitive data out of shared evidence.

Share this article

Back to all articles