一、日志系统是如何拖慢你的系统的

 

系列文章目录

 

一、日志系统是如何拖慢你的系统的


 


前言

       平时,日志之于系统就像空气之于生物一样,平时不怎么关注,但是对于排查问题确跟关键。但是小小的日志也会影响系统性能?大部分同学可能觉得,日志组件已经经过了这么多年的使用和迭代,怎么可能出现性能瓶颈呢。这可不一定,且看我遇到的一个问题。


 

一、问题描述

      系统在平常的低流量情况下运行的时候,完全没有问题,响应也很快。但是在做营销活动的时候,流量突增,在这种情况下,就会出现大量的慢响应请求。而且慢响应请求的数量随着时间成正态分布的样子。

二、问题分析

    刚开始完全没有向日志方向考虑,而是分析哪个服务出现的超时比较多,先对类静态数据进行缓存处理。但是做了缓存之后系统依旧没有好转。然后对线程池进行扩大处理,但是还是不能解决问题。最后才怀疑到是不是打印日志的某个环节出现了问题。经过check,发现日志的打印方式是同步的方式。

    线下通过同步方式打印和异步方式打印两种情况进行测试。

400个线程,轮询10次

同步:

可以看到,同步方式,请求响应时间大于500ms的请求日志量就占比一大半。

下面看同样条件下,异步方式的结果

异步方式,响应时间大于100ms的请求也只有34个。

可以得出结论,同步打印日志的方式会严重影响系统的性能


总结

       有时候,你认为最安全的地方就是最危险的地方,保持怀疑精神和敢于怀疑精神,或许会直中要害。后续文章会对日志组件进行分析,剖析出同步打印方式的阻塞点。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值