网易视频云:网易HBase基准性能测试之准备篇
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
网易视频云:网易HBase基准性能测试之准备篇
网易视频云是网易推出是PAAS级视频云服务,致力于为客户提供真正易用的视频云服务,目前已经广泛应用于在线教育、秀场直播、游戏直播、远程医疗等领域,在网易内部,也有广泛运用视频云的产品,比如网易新闻直播、网易BOBO、网易青果等。
而网易视频云的技术团队全部来自网易杭州研究院十多年的技术骨干,现在,由网易视频云的技术专家给大家分享一则技术文:网易HBase基准性能测试之准备篇。
本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。
本篇文章主要介绍此次测试的基本条件,测试结果和分析可以阅读文章《网易HBase基准性能测试之结果篇》测试环境
测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关软件以及测试工具等。
集群拓扑结构
本次测试中,测试环境总共包含4台SA5212H2物理机作为数据存储。
生成数据的YCSB 程序与数据库并不运行在相同的物理集群。
单台机器主机硬件配置
软件版本信息
测试工具
YCSB全称Yahoo! Cloud Serving Benchmark,是Yahoo公司开发的专门用于NoSQL测试的基准测试工具。
github地址:https:///brianfrankcooper/YCSB YCSB支持各种不同的数据分布方式
1. Uniform:等概论随机选择记录
2. Zipfian:随机选择记录,存在热记录
3. Latest:近期写入的记录为热记录
测试场景
YCSB为HBase提供了多种场景下的测试,本次测试中,我们导入10亿条数据,并对如下场景进行测试:
YCSB并没有提供Increment相关的测试功能,但是部分业务有这方面的需求,因此对YCBS进行了改造,加入了Increment模块。
需要注意的是,在测试Increment性能前需要导入1亿条数字进行测试。
写入和查询的数据模拟目前线上记录的长度,具有以下特性:
HBase相关重要配置
hfile.block.cache.size:0.2hbase.regionserver.global.memstore.upperLimit:0.45jvm:
-Xms48g -Xmx48g -Xmn4g -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m jvm参数表示每台机器会分配48G内存作为Java的堆内存使用,hfile.block.cache.size 参数表示HBase会为每台Region Server分配大小为9.6G(48 * 0.2)的内存作为读缓存使用。
hbase.regionserver.global.memstore.upperLimit参数表示HBase会为每台Region Server最多分配大小为21.6G(48 * 0.45)的内存作为写缓存使用。
测试方法
上述测试场景中部分测试(插入测试、scan扫描查询等)对客户端带宽资源要求很高,单个客户端测试会因为客户端带宽耗尽而导致无法测出实际服务器集群读写性能,因此我们
开启6个YCBS客户端并发进行测试,最终Throughput是6个客户端的总和,AverageLatency 取6个客户端延迟的平均值。
单个YCSB测试都遵守标准测试流程,基本流程如下:
1. 在6个客户端服务器部署YCSB程序,向集群中load 10亿条数据
2. 按照预先定义的场景修改负载文件workload
3. 使用ycsb run方法执行测试,向集群写入读取数据
4. 进行数据操作时通过YCSB记录产生的统计数据,主要是吞吐量和平均延迟两个指标
5. 根据结果生成对应的图标
6. 针对不同场景,重复上述测试步骤
网易HBase基准性能测试之准备篇已经介绍完毕,下篇将会给大家介绍网易HBase基准性能测试之结果篇。