求解 springboot+mysql 随机出现的异常延迟

126 天前
 Plumes
两行紧挨着的代码,很简单的根据 id 更新一行数据,然后打印函数执行到此时的耗时




打印出来的日志如下




正常情况下两个打印出来的耗时差值应该是 10ms 以内
但是每天会随机出现几个时间点,两个耗时差值会大于 1s 甚至 10 ~ 20s
日志中可以看到并不是语句执行出现耗时,mybatis 已经把执行结果打印出来了
耗时出现在语句执行之后,但是出现结果之后应该就立即到打印日志了,这之间没有其他代码了,没明白这个延时是怎么产生的,求助
2209 次点击
所在节点    Java
21 条回复
baoshijiagong
116 天前
日志的内容里面耗时这个是当前时间减去 startTime ,startTime 在哪定义的,从截图看并不知道,那么截图里高亮的两个“当前耗时”和“耗时”没有可比性,先忽略。

17.039 的是 updateTagsModuleLibsById 的日志
18.080 的是 updateModuleLibById 的日志
不是两条相邻代码的日志。

updateModuleLibById 方法没有产生 sql 日志。
没有任何不合理之处。

接口延迟,只是 updateModuleLibById 处理时间长了,要查一下这个方法为什么在特定时间,比如刚过 16 点的时候,会有延迟。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1072735

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX