AHBench-jenkins是由阿里云Lindorm团队研发的Benchmark测试套件。该测试套件集成了YCSB(Yahoo! Cloud Serving Benchmark)工具,YCSB提供了测试集合、测试流程控制、结果汇聚等功能。使用该测试套件,您可以通过简单配置,一键执行性能测试。本文介绍如何在ECS上安装AHBench-jenkins测试套件并完成性能测试。
运行环境
请确保ECS实例满足以下条件:
与云原生多模数据库 Lindorm实例位于同一专有网络。
(建议)ECS实例规格为16vCPU及以上。
Linux系统。
JDK 1.8及以上版本。
Python 2.7。
注意事项
测试压力过程中可能会使得被测实例负载过高,请勿在生产环境中运行该测试套件。
该测试套件同一时间只能运行一个测试集,测试集内部测试任务串行执行。请确保没有并行执行其他测试任务。
该测试套件使用"ahbenchtest-read"与"ahbenchtest-write" 两个表作为测试用表。测试过程中可能会删除再创建这两张表。请确保这两张表可以安全地被删除。
确保被测实例有足够的存储空间。
ECS为虚拟运行环境,同一机型下的性能测试结果可能存在5%~10%的波动,处于预期范围之内。
启动服务前,确保已配置ECS安全组,并允许来自HTTP 8080端口的入站访问,否则将无法顺利连接ECS实例。
准备工作
将ECS实例的主私网IP添加至云原生多模数据库 Lindorm实例的白名单中,添加方法请参见设置白名单。
配置ECS安全组,并放行8080端口的入站访问。
下载测试套件AHBench-jenkins,并上传到ECS实例解压。
步骤一:启动服务
启动AHBench-jenkins服务。
# 通过如下命令可以设置该套件的端口,默认为8080
cd AHBench-jenkins-v1.0.0
./start.sh 8080
在浏览器中输入ECS公网地址和AHBench-jenkins服务的端口号来访问服务。格式为:https://<ip>:<port>。
https://47.96.XX.XX:8080
步骤二:选择测试集模板
单击测试集模板。
测试集模板包括快速测试集(FastTest)和完整测试集(FullTest)。
快速测试集:测试数据量1000万,整体运行时间大约2小时(视被测实例规格可能有变化),至少需要总存储空间25 GB。
完整测试集:测试数据量20亿,整体运行时间大约25小时(视被测实例规格可能有变化),至少需要总存储空间2 TB。
选择测试模板后,单击左侧菜单栏Build with Parameters来配置测试任务。
步骤三:配置测试任务
必填配置
Lindorm
参数 | 参数说明 | 获取路径 |
cluster_addr | Lindorm实例宽表引擎的HBase Java API访问地址。 | Lindorm控制台的数据库连接页面,单击宽表引擎,可查看HBase Java API访问地址。 如果AHBench-jenkins部署在同VPC的ECS上,请使用专有网络地址,否则请开通并使用公网地址。 |
username | 访问Lindorm实例的数据库用户。 请确认该用户具有全局权限的read、write、admin、trash以及system权限。 | ,可以为用户授权。详情请参见 |
password | 访问Lindorm实例的数据库密码。 | ,修改密码。详情请参见 |
HBase增强版
参数 | 参数说明 | 获取路径 |
cluster_addr | HBase增强版实例的Java API访问地址。 | HBase控制台的数据库连接页面,在连接信息区域可查看Java API访问地址。 如果AHBench-jenkins部署在同VPC的ECS上,请使用专有网络地址,否则请申请并使用外网地址。 |
username | 访问HBase增强版实例的数据库用户。 请确认该用户具有全局权限的read、write、admin、trash以及system权限。 | ,可以为用户授权。详情请参见 |
password | 访问HBase增强版实例的数据库密码。 | ,修改密码。详情请参见 |
HBase标准版
参数 | 参数说明 | 获取路径 |
cluster_addr | HBase标准版实例的ZK链接地址。 | HBase控制台的数据库连接页面,连接信息区域可查看Java API访问地址。 如果AHBench-jenkins部署在同VPC的ECS上,请使用专有网络地址,否则请申请并使用外网地址。 |
通用配置(可选)
步骤四:启动测试
单击BUILD按钮,如下图所示,提交测试任务到执行队列中。
步骤五:测试结果分析
测试用例运行完毕后,会生成CSV文件,如下图所示,您可以通过浏览器进行查看和下载。
您可以将数据结果复制到Excel或者Numbers等数据分析软件中做进一步对比分析。CSV文件结果如图所示。
常见问题
如果测试中遇到错误退出,请检查如下事项:
Java和Python是否安装,版本是否正确。
被测实例地址以及必填配置是否填写正确。
被测实例是否支持测试所指定的压缩算法。
被测实例状态是否正常服务。