公司的并发量很大,担心使用ranger-hdfs插件后 namenode扛不住压力 所以需要本人进行压测 没有在网上找到其他文档 资料太少了 决定自己写一份

介绍下压测环境 15个节点 集群高可用两个namenode 主备 其中node2 为活动的namenode

环境如下:

Architecture:          x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
Stepping: 1
CPU MHz: 2299.951
CPU max MHz: 3000.0000
CPU min MHz: 1200.0000
BogoMIPS: 4194.67
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31

这里使用阿里的压测包 stresstester 包

public class PressTest {

    static  int concurrencyLevel=128; //并发数
static int totalRequest=Integer.MAX_VALUE; //请求数
static String username="sparkuser1";
public static void main(String[] args) {
StressResult result= StressTestUtils.test(concurrencyLevel, totalRequest, new StressTask() {
public Object doTask() throws Exception {
HdfsFileService hdfsFileService = HdfsFileServiceLocal.LocalThread.get();
Random random=new Random();
int i=random.nextInt(100)+1;
if(i<=(100*0.1)){
hdfsFileService.updateToHdfs("/tmp/startScl.sh","/user/tmp");
}else{
int rand = new Random().nextInt(10000) + 1;
hdfsFileService.read("/scldir/test/dir"+rand);
}
return"";
}
});
}
private static class HdfsFileServiceLocal { private static ThreadLocal<HdfsFileService> LocalThread = new ThreadLocal<HdfsFileService>() {
@Override
protected HdfsFileService initialValue() {
try {
return HdfsFileServiceImpl.newBuilder().build(username);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
};

提前在Ranger上建好策略 可以开始进行测试了

建一万个策略 也提前在hdfs上建好目录 随机访问读取建立的目录

在不同服务器下启动测试程序 进行压测  启动不同数量的进程   变换条件 建更多的策略 分别测试安装插件和不安装时 相同条件 节点配置 线程数等环境下 的QPS RPC processTime等

测试结论

安装Ranger-hdfs插件较不安装插件更耗namenode性能 在该集群配置环境上namenode QPS上线分别为

二服务器下二进程

♥安装Ranger-hdfs

QPS:2.45W

RPC processing time : 0 ms

三服务器下三进程

♥安装Ranger-hdfs

QPS:3.15W

RPC processing time : 0 ms

♥未安装Ranger-hdfs

QPS:5.6W

RPC processing time : 0 ms

五服务器下五进程

♥安装Ranger-hdfs

QPS:3.14W

RPC processing time : 20 ms

♥未安装Ranger-hdfs

QPS:5.58W

RPC processing time : 0 ms

七服务器下七进程

♥安装Ranger-hdfs

QPS:3.34W

RPC processing time : 25 ms

♥未安装Ranger-hdfs

QPS:5.71W

RPC processing time : 3 ms

比对建一万策略跟五万策略测试结果基本一致 影响不大 建五万策略时使用更多的内存

Ranger-hdfs插件压测的更多相关文章

  1. jmeter流媒体在线播放HLS插件BlazeMeter - HLS Plugin实现视频在线播放压测

    一.前提 近日因工作需要,需对视频在线播放功能进行压测,视频播放使用的是HLS协议,传输内容包括两部分,一是用来控制播放的m3u8文件,二是TS媒体文件.(HLS协议和m3u8详解可参考此链接:htt ...

  2. jmeter 插件安装之阶梯式压测(五)

    一.Jmeter插件安装 jmeter-plugins-manager-1.4.jar 下载地址:https://jmeter-plugins.org/install/Install/ 下载之后将插件 ...

  3. MySQL mysqlslap压测

    200 ? "200px" : this.width)!important;} --> 介绍 mysqlslap是mysql自带的一个性能压测工具:mysqlslap用于和其 ...

  4. 快速入门系列--JMeter压测工具

    今天的年会已过,仍然是空手而归,不过俺坚信能让生活稳定永远都是努力.由于隔壁组负责年会的抢红包项目,因而趁此机会把通过工具模拟高并发的知识补了补,通过和身边大师的交流,总算是对压力测试有了个简要的了解 ...

  5. Jmeter之http性能测试实战 非GUI模式压测 NON-GUI模式 结果解析TPS——干货(十一)

    性能测试计划 性能测试用例 录制脚本 性能测试结果 性能测试报告 性能测试监控报告 准备工作 从脚本已录制成功之后开始进行压测 安装Jmeter拓展插件 查看 Transactions per Sec ...

  6. Jmeter之性能压测Stepping Thread Group 逐步增加并发数 阶梯式加压并发 (十五)

    前段时间有描述过性能的测试类型 配置负载 Big Bang: 负载同时产生 Ramp up: 开始时候产生一定负载,然后每隔一段时间增加一些负载直到达到目标负载,这是典型模式 Ramp-up (wit ...

  7. Jmeter实现dubbo接口压测案例

    当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况 通过和开发对接,目前消息服务是通过dubbo接口对内提供服务,所以才有了这边文章的记录 最初的压测这个dubbo接口有三 ...

  8. Jmeter压测基础(二)——Badboy功能、Jmeter参数化、检查点、集合点、动态关联、图形监控

    Badboy 以下稍微介绍一下badboy的部分功能: 1.Record;play(badboy打开后默认是recording状态) 2.Assertion(检查点/断言) 3.Variable: t ...

  9. JMeter接口压测——ServerAgent监控服务端性能指标

    ServerAgent作为一个服务端性能监控插件,结合JMeter自身插件PerfMon可以实现JMeter压测的图形化实时监控,具有良好的实用性.下面讲解一个应用实例 思路: 1. 插件准备 2.打 ...

随机推荐

  1. python取数字、字母

    python取数字.字母 有一串字符串“lxa7YzU”,其中有大写字母.小写字母和数字,现编写一脚本使得实现以下功能: 将这串字符串中的数字.大写字母.小写字母分别取出来并进行分类. 脚本如下所示: ...

  2. 基于kubernetes自研容器管理平台的技术实践

    一.容器云的背景 伴随着微服务的架构的普及,结合开源的Dubbo和Spring Cloud等微服务框架,宜信内部很多业务线逐渐了从原来的单体架构逐渐转移到微服务架构.应用从有状态到无状态,具体来说将业 ...

  3. Android的简述2

    android提供了三种菜单类型,分别为options menu,context menu,sub menu. options menu就是通过按home键来显示,context menu需要在vie ...

  4. backtracing

    5月10日 1 37  Sudoku Slover public void solveSudoku(char[][] board) { if(board == null || board.length ...

  5. Active Directory域

    引言 在 Microsoft® Windows® 2000 Server 操作系统的诸多增强功能中,Microsoft Active Directory™ 功能的引入意义最为重大,但也最常引起困惑.与 ...

  6. js函数柯理化

    所谓的函数柯理化,简单来说就是,一个需要接收多个参数的函数,进行分开一个个的传递参数,当函数执行的时候,传递剩余的参数. 主要作用在于增强函数的通用性. 如下举个例子: function custom ...

  7. 【iOS】UITableViewDelegate 方法没有调用

    可能原因:没有调用 reloadData 方法. [self.tableView reloadData];

  8. C# 10分钟完成百度图片提取文字(文字识别)——入门篇

    现在图片文字识别已经很成熟了,比如qq长按图片,点击图片识别就可以识别图片的文字,将不认识的.文字数量大的.或者不能赋值的值进行二次可复制功能. 我们现在就基于百度Ai开放平台进行个人文字识别,dem ...

  9. 挂起(suspend)与线程阻塞工具类LockSupport

    挂起(suspend)与线程阻塞工具类LockSupport 一般来说是不推荐使用suspend去挂起线程的,因为suspend在导致线程暂停的同时,并不会去释放任何锁资源. 如果其他任何线程想要访问 ...

  10. WPF后台设置颜色字体等

    Button TempButton = new Button();                                                TempButton.Tag = “按 ...