Şu anda ne çalışıyor: aktif oturumlar, süre, lock ve transaction (sys.session)
MySQLPerformansKomut
SELECT conn_id, user, db, command, state, time,
LEFT(current_statement, 100) AS current_statement,
statement_latency, progress, lock_latency,
rows_examined, full_scan, tmp_disk_tables,
trx_state, trx_latency, last_wait
FROM sys.session
WHERE command <> 'Sleep' OR trx_state = 'ACTIVE'
ORDER BY time DESC
LIMIT 25;Ne yapar?
SHOW PROCESSLIST'i performance_schema verisiyle zenginleştirir: çalışan sorgunun gecikmesi, ilerleme yüzdesi, lock bekleme süresi, taranan satır, full scan / disk temp tablo bilgisi ve açık transaction durumu tek satırda görünür. Sleep durumunda olup transaction'ı açık kalan oturumları da listeler.
Ne zaman kullanılır?
Olay anında ilk 30 saniyede: hangi sorgu ne kadar süredir çalışıyor, kim lock bekliyor, hangi idle oturum transaction'ı açık tutuyor.
Dikkat
sys.session performance_schema'ya birden çok join yapar; binlerce bağlantıda sorgunun kendisi saniyeler sürebilir, sık aralıklı monitoring'de x$ view'larını ve LIMIT kullan. progress yalnız stage instrument'ları açıkken ve ALTER gibi ilerleme raporlayan işlemlerde dolar. Sleep + trx_state=ACTIVE olan oturum, autocommit=0 kullanan uygulamanın / connection pool'un unuttuğu transaction'dır ve metadata lock ile purge sorunlarının en yaygın nedenidir.
İlgili
- En pahalı sorguları bul (performance_schema digest)
- 'Waiting for table metadata lock' teşhisi ve asıl bloklayanı bulma
- InnoDB deadlock analizi ve tüm deadlock'ları loglama
- Uzun açık transaction'lar ve history list length (purge gecikmesi)
- Slow log'u kısa süreli tam yakala ve pt-query-digest ile analiz et
- EXPLAIN ANALYZE ve optimizer trace ile kötü planı çöz