Logback 同步方式打的日志,在生产环境上接口的调用响应时间,偶发性的出现超过 2s 的情况。 在测试环境上起一个接口,接口简单地就只执行 log 一个字符串的功能。模拟压测,50 个线程连续压一分钟,就能复现问题,卡点在两个方面:
基础知识不牢固,不知道怎么从 IO 层面去分析这个问题,想请假一下 V 友,如果说我云服务器的配置是 2 核 4G,磁盘是普通的云盘,为何会出现这种断续的耗时比较长的情况呢?是我磁盘的写入速率就这么高么?不至于吧,持有锁的线程就一个,写一个字符串能有多大?
还是说我其实还有一层,接口是跑在这个宿主机的容器里边,可能是容器层面什么配置设置得不合理?
再或者说断续的写同一个文件,表现就是这样的,跟底层的类似于用户缓存区呀,内核缓存区啥的有关?
卡好几天了,有了解的朋友望不吝赐教,感谢
1
weishao666 OP 我知道 Logback 有异步打日志的方式,并且效率相对优于同步,就是想搞明白,这里到底是怎么卡住了
|