全部产品
云市场

测试工具

更新时间:2019-09-10 11:15:42

介绍

AHBench是由阿里云HBase团队研发的benchmark测试套件。

该测试套件集成了云HBase性能增强版性能白皮书所包含的YCSB(Yahoo! Cloud Serving Benchmark)测试集合、测试流程控制、结果汇聚等功能。借助该测试套件,您可以通过简单配置后,一键执行性能测试。

下载工具

下载地址下载AHBench,上传到压测客户端并解压。

运行环境

请确保压测客户端运行环境满足:

  • Linux系统
  • JDK 1.8 +
  • python 2.7
  • 建议客户端CPU配置为独享16Core以上

配置

配置HBase集群地址(必须)

配置运行时环境变量(必须)

打开 AHBench/conf/ahbench-env.properties ,配置工具运行的环境变量

  1. vi AHBench/conf/env
  2. # 配置JDK的安装地址。如果java已经在系统PATH中,可以跳过该配置
  3. # JAVA_HOME=/usr/java/jdk1.8.0/
  4. # 配置被测HBase集群的版本,如果为1.x版本则填1,如果为2.x版本则填2。
  5. HBASE_VERSION=2

配置测试相关参数(可选)

打开AHBench/conf/ahbench-config.properties,配置测试相关的参数,如压缩、编码、线程数、数据量、字段大小等,默认不需要修改,如有需求可根据场景进行定制修改。

说明:部分参数仅在特定HBase版本支持,如ZSTD压缩、INDEX编码仅在云HBase增强版支持,你可以通过配置ZSTD+INDEX获得更好性能

  1. # 配置被测表的压缩算法,可选项有:
  2. # NONE LZO ZSTD SNAPPY GZ LZ4 ZSTD 等
  3. # 注意部分被测系统可能不支持指定的压缩算法
  4. # 云HBase性能增强版推荐使用ZSTD
  5. ahbench.table.compression=SNAPPY
  6. # 配置被测表的编码算法,可选项有:
  7. # NONE DIFF INDEX
  8. # 注意部分被测系统可能不支持指定的编码算法
  9. # 云HBase性能增强版推荐使用INDEX
  10. ahbench.table.encoding=DIFF

启动测试

快速测试集

测试数据量1000万,整体运行时间大约40分钟(视被测HBase系统可能有变化),至少需要总存储空间20GB

  1. cd AHBench
  2. ./fast_test

完整测试集

测试数据量20亿,整体运行时间大约25小时(视被测HBase系统可能有变化),至少需要总存储空间2TB

  1. cd AHBench
  2. ./full_test

若要重复进行该测试,可以通过跳过数据导入阶段(上一次测试已成功运行),减少运行时间。跳过导入阶段,整体测试运行时间大约3.5小时(视被测HBase系统可能有变化)

  1. cd AHBench
  2. ./full_test --skipload

测试结果分析

测试case运行完毕后,会在当前目录生成csv文件。csv文件全称为逗号分隔值文件(Comma-Separated Values)。可以将测试结果复制到Excel/Numbers等数据分析软件中做进一步对比分析。

csv文件结果如图所示:csv示例

注意事项&常见问题

  • 该测试套件使用”ahbenchtest-read”与”ahbenchtest-write” 两个表作为测试用表。测试过程中可能会删除再创建这两张表。请确保这两张表可以安全地被删除
  • 测试压力可能将被测系统压垮,请勿在生产环境中运行该测试工具
  • 如果测试中遇到错误退出,请检查如下事项:
    • JAVA_HOME是否正确设置,是否安装了python运行环境。
    • 被测集群地址是否填写正确
    • 被测集群HBase版本是否填写正确
    • 被测集群是否支持测试所指定的压缩算法
    • 被测集群状态是否正常服务
    • 被测集群存储空间是否足够
  • ecs为虚拟运行环境,同一机型下的性能测试结果可能存在5~10%的波动,处于预期范围之内。