在NiFi中,我有一个HTTP端点接受POST请求,有效载荷从7kb到387kb或更大(最大4mb)。目标是拥有一个能够每秒处理大约10,000个请求的集群实现。但是,无论我是否将NiFi与3个节点或单个实例集群在一起,如果Jetty服务没有返回503错误,我就无法平均超过15-20个请求/秒。我已经尝试减少时间惩罚并增加StandardHttpContextMap中的最大未完成请求数。无论我尝试什么,无论是在我的本地机器上还是在远程VM上,我都无法获得任何令人印象深刻的请求。
知道为什么会这样,以及如何解决这个问题?即使在集群时,我注意到一个节点(甚至不是主节点)完成了大部分工作,我认为这解释了为什么集群实现的吞吐量不高。
无论在哪个公告级别,这都是我在nifi-app.log中遇到的错误:
2016-08-09 09:54:41,568 INFO [qtp1644282758-117] o.a.n.p.standard.HandleHttpRequest HandleHttpRequest[id=6e30cb0d-221f-4b36-b35f-735484e05bf0] Sending back a SERVICE_UNAVAILABLE response to 127.0.0.1; request was POST 127.0.0.1
无论我只运行两个处理器(HandleHttpRequest和HandleHttpResponse)作为我唯一的处理器还是我的常规流程,我在内容路由,替换一些文本,写入数据库或jms消息传递,这是相同的系统。当我在没有整个流程的情况下运行Web服务时,我可以获得更高的吞吐量(最多40个请求/秒),但它仍然具有大约90%的KO速率,所以它不是更好 - 似乎仍然是码头服务问题。