公司HBase基准性能测试之准备篇
本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考。
测试环境
测试环境包括测试过程中HBase集群的拓扑结构、以及需要用到的硬件和软件资源,硬件资源包括:测试机器配置、网络状态等等,软件资源包括操作系统、HBase相关软件以及测试工具等。
集群拓扑结构
本次测试中,测试环境总共包含4台SA5212H2物理机作为数据存储。生成数据的YCSB程序与数据库并不运行在相同的物理集群。

单台机器主机硬件配置

软件版本信息

测试工具

YCSB全称Yahoo! Cloud Serving Benchmark,是Yahoo公司开发的专门用于NoSQL测试的基准测试工具。github地址:https://github.com/brianfrankcooper/YCSB YCSB支持各种不同的数据分布方式
1. Uniform:等概论随机选择记录
2. Zipfian:随机选择记录,存在热记录
3. Latest:近期写入的记录为热记录
测试场景
YCSB为HBase提供了多种场景下的测试,本次测试中,我们导入10亿条数据,并对如下场景进行测试:

YCSB并没有提供Increment相关的测试功能,但是部分业务有这方面的需求,因此对YCBS进行了改造,加入了Increment模块。需要注意的是,在测试Increment性能前需要导入1亿条数字进行测试。写入和查询的数据模拟目前线上记录的长度,具有以下特性:

HBase相关重要配置
hfile.block.cache.size:0.2
hbase.regionserver.global.memstore.upperLimit:0.45
jvm:-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在 ... 作者:范欣欣 本次测试主要评估线上HBase的整体性能,量化当前HBase的性能指标,对各种场景下HBase性能表现进行评估,为业务应用提供参考.本篇文章主要介绍此次测试的基本条件,HBase在各种测 ... 性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键. ... 原文:SQL Server 服务器磁盘测试之SQLIO篇 数据库调优工作中,有一部分是需要排查IO问题的,例如IO的速度或者RAID级别无法响应高并发下的快速请求.最常见的就是查看磁盘每次读写的响应速 ... 安卓应用的流量统计有多种方式,点击「阅读原文」可以看到一篇别人写的文章,关于安卓流量数据的获取,写的挺全的,列举了几种不同方式的优劣.(见文末参考链接) 今天我要分享的是通过脚本一键获取应用的启动流量 ... 因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果.所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正. 配置优化 zo ... 性能测试培训:Ajax接口级性能测试之jmeter版 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具 ... 老李分享知识:性能测试之TPS和吞吐率 当增大系统的压力(或添加并发用户数)时,吞吐率和TPS的改变曲线呈大体一致,则系统基本稳定. 若压力增大时,吞吐率的曲线添加到一定程度后出现改变缓 ... 我们在做性能测试的目的是什么,就是要测出一个系统的瓶颈在哪里,到底是哪里影响了我们系统的性能,找到问题,然后解决它.当然一个系统由很多东西一起组合到一起,应用程序.数据库.服务器.中中间件等等很多东西 ... bag文件是ROS常用的数据存储格式,因此要从bag文件中提取数据就需要了解一点ROS的背景知识. 1. 什么是ROS及其优势 ROS全称Robot Operating System,是BSD-lic ... 4.通用redis命令[重点] Redis五种数据类型,String,hash,list,set,有序set l keys pattern:获取所有与pattern匹配的key,返回所有与该key匹配 ... POM : <!-- log --> <dependency> <groupId>org.slf4j</groupId> <artifactId& ... 上一篇介绍了同步事件EventWaitHandle,以及它的两个子类型AutoResetEvent和ManualResetEvent.下面接着介绍WaitHandle的另外两个子类型Mutex和Sem ... 有群友问 这样的传参格式如何接受获取 xx.php?con="one"=>5,"two"=>0,"three"=>1 那么 ... 删除ORACLE目录OCI.dll文件无法删除 今天准备把虚拟机里的10g卸载安装11g来研究一些新特性 卸载没有用自带的UnInstall工具之前看warehouse的讲课视频凭记忆手动卸载了下删除 ... 在使用简体中文的情况下,访问Google总是会跳转到香港,这个时候的安全搜索是无法关闭的. 下面介绍一个最简单的方法,直接使用Google的中文界面:https://www.google.com/we ... 实现思路:通过分次执行失败案例重跑,然后通过结果文件合并命令实现多次失败重跑结果文件的合并,并输出合并后的log和report文件: 说明:具体失败案例重跑命令和结果文件合并命令请参考本博客其他相关章 ... Selenium 可以直接模拟运行 JavaScript,使用 execute_script() 方法即可实现 from selenium import webdriver browser = web ... 先安装了VS2017,后来有需求安装VS2015,安装VS2015的时候遇到下图问题,但是控制面板里面看不到Microsoft Visual C++ 2015 Redistributable的项目 我 ...公司HBase基准性能测试之准备篇的更多相关文章
随机推荐