【问题标题】:HBase multithreading client performanceHBase 多线程客户端性能
【发布时间】:2017-03-21 06:24:29
【问题描述】:

我们使用伪分布式模式下的hbase 1.2.4和java api来读取信息。我们的客户端向 hbase 生成 20k rps,但它只加载了 30% 的 cpu,计算大约需要 5 个小时。我尝试在不同的 jvm 中拆分数据并在同一台机器上运行 4 个客户端,并有 80k rps,计算时间约为一小时。这不是让我满意的解决方案。分析显示了许多连接线程的阻塞。 我也尝试过使用 hbase 客户端的 ipc 池选项,但它并没有太多提高性能。 如果有人有类似的问题,请给我一些建议。

【问题讨论】:

    标签: multithreading hbase ipc


    【解决方案1】:

    将连接池大小设置得比读取线程数大得多。

    Configuration conf;
    ...
    String poolSize = "128";
    conf.set(HConstants.HBASE_CLIENT_IPC_POOL_SIZE, poolSize);
    conf.set(HConstants.HBASE_CLIENT_IPC_POOL_TYPE, "RoundRobin");
    ...
    Connection conn = ConnectionFactory.createConnection(conf);
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-05
      • 2011-09-26
      • 2010-11-25
      • 2012-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多