为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:银河麒麟
【CPU】:华为kunpeng920
【问题描述】*:
架构:1主2从的读写分离系统
现象:主业务应用的系统前台响应很慢,卡着。检查从库不卡,主库会卡DML操作
举例:
主库查询v$session:
下面是部分截图,实际有很多dml语句执行很慢,都要卡几百秒,看现象是被阻塞了
从库:
并没有明显慢sql
主库查询事务阻塞:可以看到确实有很多阻塞
目前已排除的点:
1、发生的时间点是在晚上23点,当时并没有多少人,也没有多少并发,排除掉
2、主库的备份在23点之前就已完成,排除掉
3、主库,从库,达梦的日志已排查无明显异常
4、系统作业时间上是避开的
现在临时解决:
手动kill掉阻塞会话系统恢复
可疑点:
1、是否会是主库在做dml操作的时候在等从库日志写完,此时主库被阻塞在等待,只有当从库数据完全落盘之后主库才能返回响应
2、从库有2台,是不是要等2个从库都落盘,主库才能得到响应
3、卡的时候都是主库被阻塞dml操作
4、上面阻塞的sql实际跟业务系统不相关,应用1是跑的主业务,出现阻塞的是应用2上跑的业务,2个应用是不同的Java线程,不同的事务,每次卡的时候都会出现阻塞,明明2个不相关,为啥会影响到主业务系统?
4、此现象比较频繁,不是一次2次出现
5、主库归档配置如下
额外说明:
达梦有没有dump的功能?,想在达梦实例运行的时候转储当前进程或者线程正在运行的堆栈信息,想分析下卡在底层哪个方法上
强一致性归档模式的性能影响
ARCH_WAIT_APPLY=1
既强一致模式,主库会等待(所有)从库完成重演才提交事务,因此该架构下需考虑网络低延时高带宽、备库的CPU/内存以及IO能力。检查从库重演性能
show
命令确认从库重演延迟是否较大。REDOS_PARALLEL_NUM
设置不合理)查看主库事务提交等待事件
V$SYSTEM_EVENT
视图、v$active_session_history
视图,查看是主要的等待事件,特别关注trxid lock wait
或table lock wait
等类型的等待事件。核查主库是否存在业务操作方面阻塞,尤其是位图索引、物化视图刷新、select...for update
等事务未及时提交等影响较大SELECT * FROM V$SYSTEM_EVENT ORDER BY AVERAGE_WAIT_MICRO DESC;;
打印卡住的sql线程堆栈
pstack thrd_id
这里thrd_id来自v$sessions.thrd_id
联系当地或者行业技术支持
联系技术服务支持