Nifi 的性能 | 学习笔记

简介: 快速学习 Nifi 的性能

开发者学堂课程【NiFi 知识精讲与项目实战(第一阶段)Nifi 的性能】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/705/detail/12509


Nifi 的性能

内容介绍

一、性能

二、总结

一、性能

NIFI 的设计目的是为了充分利用运行的底层主机系统的能力,资源的最大化,在 CPU 和磁盘的利用方面尤其明显。主要分三部分:

1.IO

第一部分是磁盘 IO,不同系统、不同的配置,可以预期的吞吐量和延迟有很大的差异,具体取决于系统的配置方式,鉴于大多数系统都有可插拔的实现,所以具体的性能还取决于具体的实现方式,但是对于广泛适用的场景来说,都会优先考虑使用现场的默认的实现,尽量避免重复,实现都是持久化的,有保证的让数据流进行传递,并且使用本地磁盘来进行存储,所以如果在典型的服务器当中,一些普通磁盘和卷上读取收益大,如果是50兆的话,对于大型的数据流 nifi,能够达到每秒100兆或是更高的通透量,因为首先预期添加到 nifi 当中的分区和内容流式都是线性增长的,而nifi 支持集群的模式,所以可以很好的解决磁盘IO的问题。

2.CPU

关于 CPU 这部分,流控制器进行现场的分配,流式控制器充当的是引擎调度的角色,来指示处理器什么时候可以被分配现场运行,并且在任务执行以后,会立即释放所占用的现场,可以为 flowcontroller 提供配置的属性值,属性值可以指导 flowcontroller 维护各个线程,指导可用线程,数量值可以修改,理想的线程数取决于不同服务器 CPU 内核的数量,不是一概而论的,如果说 CPU 性能很强劲,内核数量很多,就可以多分配线程,如果系统中还有正在运行的大量的服务,也要考虑到或者说流程中要处理的流,性质不一样,分配的限量数量也是不同的,取决于不同的具体场景而言,通过人工来判断,进行人为的配置,对于典型的 IO 大流量,合理的配置多线程,启用多线程,进行并行处理,可以明显的提升流式计算的效率。

3.RAM

内存,nifi 是在 GVM 训机当中运行的,所以 nifi 受限于 GVM 所提供的内存,GVM 垃圾回收机制是限制实际堆的总大小的重要的因素,也是优化应用运行的很重要因素,nifi 在定期读取相同内容的时候,可能会占用大量的内存,可以配置足够大的内存以及磁盘来优化 NIFI 的性能。


二、总结

Nifi 的性能,主要优化三个方面,磁盘 IO, CPU(多线程处理机制),内存可配置优化。内存主要是基于 GVM 内存控制来进行的。

相关文章
|
7月前
|
消息中间件 大数据 关系型数据库
大数据框架NiFi
NiFi 是一个易于使用,功能强大,可靠的处理和分发数据框架。主要用于数据的同步传输,支持灵活的数据格式转换,同时可以设置定时调度任务,他是一个数据同步框架,类似于 kettle。
109 0
|
存储 监控 Java
NiFi 监控2 | 学习笔记
快速学习 NiFi 监控2
250 0
NiFi 监控2  |  学习笔记
|
存储 安全 Java
【NiFi】(一)NiFi 简介及核心概念
【NiFi】(一)NiFi 简介及核心概念
2089 0
【NiFi】(一)NiFi 简介及核心概念
|
存储 消息中间件 运维
Nifi 关键特性 | 学习笔记
快速学习 Nifi 关键特性
168 0
|
存储 负载均衡 Java
Nifi 架构 | 学习笔记
快速学习 Nifi 架构
223 0
Nifi 架构  |  学习笔记
|
存储 开发者
NiFi 集群总结 | 学习笔记
快速学习 NiFi 集群总结
227 0
|
安全 Oracle Java
Nifi 是什么 | 学习笔记
快速学习 Nifi 是什么
259 0
|
监控 BI 开发者
NiFi 监控总结 | 学习笔记
快速学习 NiFi 监控总结
128 0
|
监控 Java 开发者
NiFi 监控1 | 学习笔记
快速学习 NiFi 监控1
119 0
NiFi 监控1  |  学习笔记
|
监控 负载均衡 数据处理
NiFi 集群知识点 | 学习笔记
快速学习 NiFi 集群知识点
283 0
NiFi 集群知识点  |  学习笔记