我目前正在创建一个流,在其中我将合并10K http响应的结果。我有几个问题。(请参考下面的图片,我正在按图片编号我的问题)。
1)随着队列变得太长,是否可以将“并发任务”作为invokeHTTP的10?是什么驱动这个?#服务器上的核心?
2)等待显示了一个相当大的数字,这仅仅是它正在写入的字节#吗?还是用了那么多内存?如果这只是一个写,那么我可能是ok...but如果它是一些内部队列,那么很快我可能会耗尽内存?减少这个数目有意义吗?把“运行计划”从0增加到20秒?
3)究竟什么是“背压数据大小阈值”,值设置在1GB,是否意味着,如果队列中的ff大于这个值,nifi就会开始丢弃它吗?还是会以某种方式停止对上游处理器的处理?

发布于 2018-10-11 16:01:10
1)是的,增加InvokeHttp上的并发任务可能是有意义的。我不会跳到10,但会测试从1增加到2,2到3,等等,直到它看起来更好。并发任务是可以并发执行处理器的线程数,NiFi实例的线程总数是在计时器驱动线程下的控制器设置中定义的,您应该根据CPU/core的#设置计时器驱动的线程。
2)处理器上的统计数据是最后5分钟的总计,因此" in“是在最后5分钟进入处理器的所有流文件的总大小。您可以看到" out“几乎是相同的#,这意味着几乎所有的流文件都已经被传输出去了。
3)背压使上游处理器停止执行,直到背压阈值降低为止。数据大小阈值是说“当队列中所有流文件的总大小超过1GB时,然后停止执行上游处理器,以便在下游处理器在队列上工作时不再有数据进入队列”。在自循环连接的情况下,我认为背压不会阻止处理器执行,否则它最终会陷入死锁,在那里它不能产生更多的数据,但也不能脱离队列。在任何情况下,除非在队列上设置流文件过期,否则永远不会删除数据。
https://stackoverflow.com/questions/52763742
复制相似问题