目录

如果涉及双数据中心,或者多中心办公场景,就会有这种情况。
可以长时间ping测试丢包情况。
使用dstat命令测试网络拥堵情况
涉及系统集成,涉及老系统,如果调用链路长会导致此类问题。
如果有cat这类分布式链路追踪系统,可以看,否则不怎么好搞
如果数据库服务 可能有备份服务导致的磁盘IO,CPU,内存被大量占用,导致查询变慢。本质是其他服务占用了“主服务”资源导致。
后端服务如果大批量写文件会导致磁盘IO抢占,导致操作慢
核查:
CPU和内存 一般都是其他服务被占用导致
比如redis锁,DB连接 等。这类如果并发高就会导致大量线程处于等待状况。
检查:
频繁FullGC会造成服务卡顿,CPU占有率升高
检查:
随着数据库变多,如果正好某个查询条件没有走索引,查询会比较慢。
检查:
常见的秒杀场景:数据库并发执行update,更新同一行的动作会被其他已经持有锁的会话堵住,并且需要要进行判断会不会由于自己的加入导致死锁
a=11,10条数据
a=21,10W数据,查询自然不同
select *** from tt limit 10000000,10;
这类需要先找到10000000条,然后往后找10条
调整为:
select * from tt where id >= 10 limit 10;
varchar(2000) text
调整:
InnoDB引擎采用Write Ahead Log(WAL)策略,即事务提交时,先写日志(redo log),再写磁盘。为了提高IO效率,在写日志的时候会先写buffer,然后集中flush buffer pool 到磁盘。 这个过程 我们称之为刷脏页。
这个过程中就有可能导致平时执行很快的SQL突然变慢。