概念:
日志输入:线程中记录日志到队列中;
日志输出:单开线程循环读取队列,写入txt中;
现象:之前有款软件,日志输入速度大于日志输出速度,导致运行程序越来越大,后来是通过删除部分不太重要的输入日志解决的。
求问:有什么比较好的思路,解决这种问题么?
关于日志输入输出问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qfl_sdu 2021-09-27 10:32关注
你的日志输出策略是什么样的呢?每次从队列读取一条写文件还是每次读取多条?给出几个建议供参考:
1.每次读日志队列时,批量读取,而不是单条读取,读取后批量写入文件。(不要持续占用队列)
也可以考虑建立两个队列,当一个队列写到一定量级后,去写第二个队列。读队列的时候先读取第一个队列,然后再去读取第二个队列,这两种方式都是减少频繁的加锁、解锁导致的效率问题。
2.如果上述策略还不行,尝试增加日志级别,通过日志级别控制日志的量级,一些不必要的日志可以通过日志级别筛除本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计