DBAtlas · Atlas für Datenbankbetrieb

Top Wait Events anzeigen

Oracle

SELECT event, total_waits, time_waited, ROUND(time_waited/100,2) AS sec_waited
FROM v$system_event
WHERE wait_class <> 'Idle'
ORDER BY time_waited DESC
FETCH FIRST 20 ROWS ONLY;
-- For real-time analysis: v$active_session_history (ASH)

v$system_event liefert kumulierte Wait Events; v$active_session_history liefert Active Session Sampling der letzten Minuten (erfordert die Diagnostics-Pack-Lizenz).

PostgreSQL

SELECT wait_event_type, wait_event, count(*)
FROM pg_stat_activity
WHERE wait_event IS NOT NULL AND state = 'active'
GROUP BY 1, 2
ORDER BY 3 DESC;

pg_stat_activity zeigt den aktuellen Wartezustand; wiederholtes Abfragen (Polling) zeigt die häufigsten Wait Events.

MySQL

SELECT event_name, count_star, sum_timer_wait,
       ROUND(sum_timer_wait/1000000000000, 2) AS sec_waited
FROM performance_schema.events_waits_summary_global_by_event_name
WHERE count_star > 0
ORDER BY sum_timer_wait DESC
LIMIT 20;

events_waits_summary_global_by_event_name liefert die gesamten Wartezeiten pro Event (in Pikosekunden); Wait-Instrumente müssen aktiviert sein.

SQL Server

SELECT wait_type, waiting_tasks_count, wait_time_ms,
       signal_wait_time_ms, wait_time_ms - signal_wait_time_ms AS resource_wait_ms
FROM sys.dm_os_wait_stats
WHERE wait_time_ms > 0
ORDER BY wait_time_ms DESC;

sys.dm_os_wait_stats zeigt kumulierte Wait Types seit dem Start der Instanz; mit DBCC SQLPERF zurücksetzbar.

MongoDB

db.serverStatus().wiredTiger.concurrentTransactions
// For general waits/congestion:
// db.serverStatus().globalLock  and  db.serverStatus().wiredTiger.cache

WiredTiger hat keine klassischen Wait Events; erschöpfte concurrentTransactions (Tickets), globalLock.currentQueue und Cache-Druck deuten auf Engpässe hin.

Redis

CONFIG SET latency-monitor-threshold 100
LATENCY LATEST
LATENCY HISTORY command
# For the slowest commands: SLOWLOG GET 10

Sobald der Schwellenwert des Latency Monitors gesetzt ist, melden LATENCY LATEST/HISTORY die Events mit der höchsten Latenz.

Elasticsearch

GET _nodes/hot_threads

_nodes/hot_threads deckt Engpässe auf, indem es Stack Traces der Threads mit dem höchsten CPU-Verbrauch liefert.

In DBAtlas öffnen →