disruptor导致cpu占用率高

这次心血来潮在项目中使用了disruptor来做数据的更新的,虽然现阶段还没必要,但考虑到后面做大规模数据处理的时候要用,就先杀鸡用“牛刀”了。

 

测试阶段没发现有问题,但后来发布了有人反馈机器CPU飙升。因此去定位了一下,top,jstack… 之后发现占用CPU的线程跟disruptor有关,考虑到刚发布不可能是因为数据量太大,相反应该是因为太小。 就想到应该是自己使用了不合适的wait strategy。

 

看了下配置,用的yield的等[......]

Read more

Posted in Java | Tagged | Leave a comment

Disruptor参考手册

Disruptor源码地址: https://github.com/LMAX-Exchange/disruptor/,可在wiki中看到本文的英文原文内容。

Disruptor的jar包在Maven中心库存在,只需将其添加到依赖中即可在项目中使用,当然,也可在wiki中直接下载jar包使用。如:

<dependency>
   <groupId>com.lmax</groupId>
   <artifactId>disrupto[......]

Read more

Posted in J2EE | Tagged | Leave a comment