现场跑批压测时,压测开始时和18:04左右出现毛刺,cpu sys飙升。
18:04左右cpu sys冲高,对应时间点md4盘压力大,md4盘对应索引。
18:04左右大量会话在执行T_D_AC_TRADE_IVT流水表insert和select。
压测开始时cpu sys升高是因为每次压测前清理全库执行计划缓存,后续所有SQL语句硬解析。
18:04左右cpu sys冲高,md4索引盘增长曲线和cpu sys接近,md4的写可能与sys的关联度最高,sys峰值出现在md4的写峰值上。这个时间点在操作大量T_D_AC_TRADE_IVT流水表insert和select,每条INSERT必须维护所有索引B-tree,产生大量索引页面分裂、锁竞争,同时对同一张表操作INSERT和SELECT时,通常不会因锁机制直接阻塞SELECT操作,但高并发或大事务的INSERT仍可能通过系统资源竞争(I/O、内存、redo 等)间接影响SELECT性能,insert维护索引时影响select通过索引查询。T_D_AC_TRADE_IVT表有14个组合索引,数据量10.9亿。猜测sys高根本原因是IO高,写入高引发,精简流水表索引sys高情况减轻。
文章
阅读量
获赞
