微服务性能优化-日志调优
来源:互联网 发布:搜狗 算法研究员 面试 编辑:程序博客网 时间:2024/06/04 00:32
A进程是提供接口给手机客户端调用,B进程是刚上的服务,A进程调用B进程的超时时间设置为3秒,超过3秒就报错,上报到监控系统。上线后收到短信告警,超时的请求量较多。查看监控图如下
纵座标的顶部是3秒,每隔一小时就有一个高峰达到3秒。刚开始怀疑B进程有定时任务在跑,查看代码后发现没有,最后查到运维人员在系统中跑定时任务,每小时检查log目录下的文件是否大于500M,是的话就切割文件压缩。文件的时间与监控图的超时时间一致。
怀疑是在操作系统定时任务切割日志文件的时候,与业务进程抢压日志文件资源,阻塞了业务进程IO。
由于B进程是个重要服务,开发人员为了方便定位问题,把每次的请求和返回数据都打开出来,请求量也较大,导致每小时内都达到500M。
做了以下优化:
1. 减少日志量,只记录关键信息到日志文件
2. 修改log4j配置
log4j.additivity.monitorLogger=false
设置监控logger的日志不会输出到rootlogger
log4j.appender.monitorAppender.BufferedIO=true
log4j.appender.monitorAppender.BufferSize=8192
设置log4j输出日志的时候采用缓冲的方式,而不是即时flush方式,并且设定了缓冲为8K,可以根据日志输出的情况来修改,不即时写入文件可以减少与定时任务冲突的概率。
log4j有个AsyncAppender选项可以设置为异步输出日志,这里不改为异步的原因,是因为B进程已经有100个线程,且并发量较大,在网上看到异步不移定。
优化完后,系统稳定,很少再收到告警短信,终于睡个好觉。
- 微服务性能优化-日志调优
- 性能优化日志【20090708】
- 微服务的性能模式
- 访问日志IO性能优化
- Spring Boot 微服务集群日志等
- 构建高性能微服务架构(网易)
- Java 性能调优 性能优化策略
- Mongodb性能调优 -性能优化建议
- Java 性能优化 - Websphere GC日志分析
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- MySQL日志优化,提升MySQL服务器性能
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- Mysql 性能优化(一 慢日志)
- log4j日志输出性能优化-缓存、异步
- log4j日志输出性能优化-缓存、异步
- 【NOIP 2015 Day2 T1】跳石头(二分)
- 页面跳转---页面可以跳到任何页,也可以返回到任何页
- 关于spring中@Transactional注解抛出异常不回滚的现象
- java web 购物车开发
- 20.IDA-修改二进制文件、显示修改点
- 微服务性能优化-日志调优
- 我的第一个博客
- Android源码浅析(五)——关于定制系统,如何给你的Android应用系统签名
- VC中多文档动态创建CEdit,并获取输入内容
- 23种设计模式全解析
- 手机QQ会员H5加速方案——sonic技术内幕
- __setup 在内核中的作用(转) 2
- php中的数值型字符串相加 相比较(> < ==)
- java语言中的继承