Logback 自定义异步appender

2020-01-08  本文已影响0人  rock_fish

自带的AsyncAppeder 中使用的阻塞队列ArrayBlockingQueue,此队列本身性能就低;落盘使用的BufferedOutStream ;性能的问题体现在两个方面:

  1. 在高并发下,阻塞调用线程,rt时长问题;
  2. 日志丢失,写盘的日志量多少问题

优化着手点:

  1. 减少不必要的锁使用。

  2. 优化queue的读写速度:
    这本质上是一个MPSC类型queue的选用问题,有界,且性能较好适合自己;如Disruptor,JCTools里MpscArrayQueue;

  3. 优化写盘速度 : MappedByteBuffer

image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读