“数据库性能抖(动)”一般指数据库在一段时间里响应变慢、延迟突增、吞吐下降,但过一会儿又恢复,呈现周期性或偶发性的波动。这类问题通常不是持续慢,而是被某些资源、锁、配置或外部因素触发。
下面给你一套通用排查思路(以 MySQL / PostgreSQL 为主,但思路适用于大多数关系型数据库)。
top / htop
free -m
vmstat 1
iostat -x 1
关注:
%util 是否接近 100%await / svctm 是否异常SHOW GLOBAL STATUS LIKE 'Threads_running';
SHOW GLOBAL STATUS LIKE 'Innodb_buffer_pool_wait';
SHOW ENGINE INNODB STATUS;
重点看:
Threads_running 突增Innodb_row_lock_waitsInnodb_data_pending_fsyncsSlow queries 数量SELECT * FROM pg_stat_activity;
SELECT * FROM pg_stat_database;
看:
wait_event_typestate = active 的堆积排查:
-- MySQL
SELECT * FROM information_schema.innodb_trx;
-- PG
SELECT * FROM pg_locks WHERE NOT granted;
✅ 解决方向:
表现:
✅ 解决:
SELECT *MySQL:
innodb_flush_log_at_trx_commitPG:
checkpoint_timeoutmax_wal_size表现:
✅ 解决:
✅ 用慢查询日志:
slow_query_log = ON
long_query_time = 0.1
✅ 解决:
✅ 看:
你可以补充:
我可以直接帮你定位具体原因 + 给参数或 SQL 优化建议。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。