解决couchbase占用cpu问题

最近使用couchbase,发现它很占cpu,开启一个连接已经到了120%,开两个连接cpu直接被占满了。使用了jprofiler查到了原因,原来是在ViewConnection.java中有一段

  @Override
  public void run() {
    while (running) {
      if (!reconfiguring) {
        try {
          handleIO();
        } catch (IllegalStateException e) {
          logRunException(e);
        } catch (Exception e) {
          logRunException(e);
        }
      }
    }
    getLogger().info("Shut down Couchbase client");
  }

这里开启了一相线程专门用来轮询处理io,貌似是用来处理多个servernode的问题。所以在try里面加句sleep(100);就可以了,让它每次轮询一遍就休息100ms。

做了这样的配置后测试了下,插入10w条数据,没什么问题。当用到couchbase的分布式的时候,再测下吧。

猜你喜欢

转载自zhaoimpulse.iteye.com/blog/1617435