公司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. 针对不同场景,重复上述测试步骤

本文章为作者原创

??禁止??

其他公众账号若有转载,请标明出处

时间: 2024-10-24 12:57:43

公司HBase基准性能测试之准备篇的相关文章

性能测试之操作系统篇

好的性能测试工程师一定是对操作系统有一定的了解的.对于底层的了解越深,越有实力去分析和参透各种性能问题,快速的找出性能的瓶颈.以下是我学习过程中的学习笔记,记录下我的理解过程,也欢迎大家纠正! 第一篇:基础概念篇 1.  操作系统中的系统调用.中断.上下文切换概念的含义 系统调用 在操作系统上如果想要运行你的程序,就得靠自己从面向底层硬件的代码编起,但这件事太枯燥,且不是每个人都能做到,这样操作系统就替我们做这些事情,把硬件封装,统一提供一套接口,这些接口就是系统调用: 系统调用把应用程序的请求

性能测试之Windows常见性能计数器

性能计数器(counter)是描述服务器或操作系统性能的一些数据指标.计数器在性能测试中发挥着“监控和分析”的关键作用,尤其是在分析系统的可扩展性.进行性能瓶颈的定位时,对计数器的取值的分析非常关键.但必须说明的是,单一的性能计数器只能体现系统性能的某一个方面,对性能测试结果的分析必须基于多个不同的计数器. 与性能计数器相关的另一个术语是“资源利用率”.该术语指的是系统各种资源的使用状况.为了方便比较,一般用“资源的实际使用/总的资源可用量”形成资源利用率的数据,用以进行各种资源使用的比较. 性

FTP服务器 传输性能测试之Raid 1+0篇

FTP服务器  传输性能测试之Raid 1+0篇 2012年02月09日13:27 it168网站原创 作者:于泽 编辑:于泽 查看全文 赞(0)评论(1) 分享 [IT168 评测]作为日常办公最常用到的一种应用服务器,FTP服务器承担着很多工作任务,而在FTP服务器的各项性能指标中,传输效率无疑是人们关注的首要因素,在FTP服务器该做Raid 5吗?传输性能评测一文中,我们曾介绍过在Raid 5模式下,FTP服务器的传输表现.今天我们将在同样的平台下,分别对服务器做Raid 1+0.Raid

SQL Server 服务器磁盘测试之SQLIO篇(二)

上次放出了一篇文章,针对磁盘卷簇大小默认4KB和自定义64KB进行了测试,测试内容为随机和顺序读写,大小为8KB和64KB,有人觉得这并没有照顾到SQL Server所有的IO使用情景.这篇测试文章,我们就来尽可能模拟一下SQL Server IO的行为,全方位对簇大小4KB.8KB和64KB做一次验证,注意:本次我们增加了簇为8KB的大小. 重点说明:本测试使用的是两块SSD组成的RAID1 首先,我们先来分析SQL Server的IO行为,参考网址:Choosing what SQLIO t

[Android Pro] Android应用性能测试之CPU和内存占用(转载)

首先稍做分析一下测试环境:我们知道CPU和内存占用是一个实时变化的状态,而市面上还没有具体的哪款android应用能做到实时监控CPU和内存占用并使用log日志保存.考虑到android的底层框架是基于Linux的平台,所有我们可以通过Linux的资源监控命令来实现对android平台的资源实时监控. 要做到上边的测试环境的实现,需要具备以下几点: 1.被测试的手机具备root权限:因为涉及到底层的linux命令,需要读取或执行相应的文件.至于如何root你的手机,不同型号的手机root的方法不

Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net 本文配套程序下载地址为:http://download.csdn.net/detail/morewindows/5160810 转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8678359 欢迎关注微博:http://weibo.com/MoreWindo

Android性能调优篇之Hierarchy Viewer工具的使用

详细内容请查看我的简书地址:Android性能调优篇之Hierarchy Viewer工具的使用 或者我的个人博客地址:Android性能调优篇之Hierarchy Viewer工具的使用

【原创】性能测试之——网络环境分析

性能测试之——网络环境分析 首先,我们需要了解宽带上网时的网络带宽环境概念: 这里指的是带宽网速的单位计算方式方法及关系. 在计算机网络.IDC机房中,其宽带速率的单位用bps(或b/s)表示:换算关系为:1Byte=8bit 1B=8b             ---------- 1B/s=8b/s(或1Bps=8bps) 1KB=1024B     ---------- 1KB/s=1024B/s 1MB=1024KB  ---------- 1MB/s=1024KB/s 在实际上网应用中

Android性能调优篇之UI布局优化

详细内容请查看我的简书地址:Android性能调优篇之UI布局优化 或者我的个人博客地址:Android性能调优篇之UI布局优化