zoukankan      html  css  js  c++  java
  • YCSB 对HBase 性能测试

        我认真的在想,关在牢里面的人,不一定比放在外面的人坏。 -- 三毛

        这篇文章放草稿箱快两个多月了,今天突然被告知,要换方向,看了近三个月的HBase就这样别了,很突然。

      刚开始装上HBase系统,再还没什么应用的情况下,就不知拿着它干嘛,好吧,测试一下。

        HBase的版本是:0.90.5 Hadoop的版本是:1.0.0,分布式部署,一共四个节点。

      测试工具是:YCSB,yahoo cloud system benchmark。专用于对各种分布式数据库测试的工具。可以在这个网站上下载:https://github.com/brianfrankcooper/YCSB, 个人理解,YCSB更多的是用来测试不同分布式数据库的,如cassandra,hypertable,HBase,考察不同数据库的相关性能。

          下载测试工具之后,我使用的版本是:ycsb-0.1.4

    1 tar xfvz ycsb-0.1.4
    2 cd ycsb-0.1.4

          开始配置测试环境
          将hbase中的jar包拷贝到hbase-binding/lib文件夹下,将hbase中的/conf/hbase-site.xml拷贝到/hbase-binding/conf下。在hbase中创建指定的表:usertable。测试默认的是要操作这样的一张表,需要这样的列族,不一定是三个。

    1 create 'usertable','f1','f2','f3'

          测试过程分为两个阶段,首先是加载数据,其次是执行事务。
          加载数据,进入ycsb的bin目录,开始输入命令:

    1 ./ycsb load hbase -P ../workloads/workloada -p threads=10 -p columnfamily=f1 -p recordcount=10000 -s > load.dat

        命令分析:load:表明为加载数据测试。
        -P:指定配置文件
         workloads/workloada: 为配置文件。This workload has a mix of 50/50 reads and writes
         -p:参数
         threads:the number of client threads

         加载完数据后,显示的部分结果如下:

    1 [OVERALL], RunTime(ms), 2295.0
    2  [OVERALL], Throughput(ops/sec), 4357.298474945534
    3  [INSERT], Operations, 10000
    4  [INSERT], AverageLatency(us), 198.2618
    5  [INSERT], MinLatency(us), 9
    6  [INSERT], MaxLatency(us), 788883
    7  [INSERT], 95thPercentileLatency(ms), 0
    8  [INSERT], 99thPercentileLatency(ms), 0
    9  [INSERT], Return=0, 10000

        加载完数据之后,开始执行事物,主要有read 和 update操作。执行命令如下:

     ./ycsb run hbase -P ../workloads/workloada -threads 10 -p measurementtype=timeseries -p 
    columnfamily=f1 -p timeseries.granularity=2000 > transactions.dat

        命令的具体含义跟上条大体一致,可以自己参考网站的文档,合理的配置。
        命令执行完,显示的部分结果:

     1 [OVERALL], RunTime(ms), 541.0
     2  [OVERALL], Throughput(ops/sec), 1848.4288354898335
     3  [UPDATE], Operations, 502
     4  [UPDATE], AverageLatency(us), 4569.788844621514
     5  [UPDATE], MinLatency(us), 56
     6  [UPDATE], MaxLatency(us), 373970
     7  [UPDATE], Return=0, 502
     8  [UPDATE], 0, 4569.788844621514
     9  [READ], Operations, 498
    10  [READ], AverageLatency(us), 4618.516064257028
    11  [READ], MinLatency(us), 742
    12  [READ], MaxLatency(us), 379287
    13  [READ], Return=0, 498
    14  [READ], 0, 4618.516064257028 

        这样,大概的一个测试过程就完成了,这只是简单的按照ycsb的文档使用了下ycsb工具,我觉的最关键的是从使用ycsb测试之后,得到的数据中进行合理的分析,去了解HBase这个系统。

  • 相关阅读:
    记一道乘法&加法线段树(模版题)
    2021CCPC网络赛(重赛)题解
    Codeforces Round #747 (Div. 2)题解
    F. Mattress Run 题解
    Codeforces Round #744 (Div. 3) G题题解
    AtCoder Beginner Contest 220部分题(G,H)题解
    Educational Codeforces Round 114 (Rated for Div. 2)题解
    Codeforces Global Round 16题解
    Educational Codeforces Round 113 (Rated for Div. 2)题解
    AtCoder Beginner Contest 182 F
  • 原文地址:https://www.cnblogs.com/liuan/p/2409957.html
Copyright © 2011-2022 走看看