1. Disruptor 等待策略引发的 CPU 负载异常问题

    2020-07-14 Tue
    By xiayf

    背景

    工作中,我负责的系统是一个数据流处理服务 - 以流水线(pipeline)的形式分多级异步处理:

    其中的 队列 实际使用的是 Disruptor,多生产者单消费者模式:

    ThreadFactory factory = new ThreadFactoryBuilder().setNameFormat(name).setDaemon(true).build();
    Disruptor<Event<T>>  disruptor = new Disruptor<>(Event<T>::new, bufferSize, factory, ProducerType.MULTI, new SleepingWaitStrategy());
    disruptor.handleEventsWith((Event<T> event, long sequence, boolean endOfBatch) -> {
        consumer.accept(event.value, endOfBatch);
        event …
  2. 如何剖析 JVM 应用(译)

    2020-07-13 Mon
    By xiayf

    原文链接:How to profile JVM applications

    Hi 大家好。工具团队(tooling team)近期的一个关注点是改进 sbt 贡献流程( improvement of the contribution process to sbt)。我们一直在思考的另一个事情是 sbt 的性能。为一举解决这两件事情,我调研了 Jason Zaugg、Johannes Rudolph 这些人如何剖析 JVM 应用,这篇文章即是调研结果。

    这里论述的技术应该可以应用于Java 和 Scala,也基本与你使用的工具无关。

    火焰图(使用 async-profiler 生成)

    剖析 JVM 应用的方式有多种,但新晋热门是Netflix 高级性能架构师(Senior Performance Architect …

Page 1 / 1