为什么一些 NiFi HTTP 响应需要这么长时间?
Why do some NiFi HTTP responses take so long?
我注意到当我通过 NiFi 发出 200 个响应时,响应通常是即时的。然而,404和500错误似乎需要很长时间,以至于它们经常导致客户端超时。
这是故意的行为吗?或者我的 HandleHTTPResponse
处理器可能设置错误?
--
编辑:虽然在下面有回答,但值得澄清的是——HandleHTTPResponse
的行为并没有不同;我只是碰巧将 [penalized] 流文件路由到设置为提供 404/500 错误代码的处理器......所以,似乎存在相关性。
在不知道哪些响应花费了这么长时间的情况下,我的猜测是错误响应是由可能由于内部超时而抛出的异常生成的(即等待无法完成的其他连接或操作,用尽超时,这会导致 HTTP 响应花费很长时间)。如果愿意,您可以在 JVM 中分析这些操作。
失败的请求可能会受到惩罚。检查故障路径上的设置并将默认的 30 秒值更新为 0,这在处理预期的 http 错误时更有意义。
我注意到当我通过 NiFi 发出 200 个响应时,响应通常是即时的。然而,404和500错误似乎需要很长时间,以至于它们经常导致客户端超时。
这是故意的行为吗?或者我的 HandleHTTPResponse
处理器可能设置错误?
--
编辑:虽然在下面有回答,但值得澄清的是——HandleHTTPResponse
的行为并没有不同;我只是碰巧将 [penalized] 流文件路由到设置为提供 404/500 错误代码的处理器......所以,似乎存在相关性。
在不知道哪些响应花费了这么长时间的情况下,我的猜测是错误响应是由可能由于内部超时而抛出的异常生成的(即等待无法完成的其他连接或操作,用尽超时,这会导致 HTTP 响应花费很长时间)。如果愿意,您可以在 JVM 中分析这些操作。
失败的请求可能会受到惩罚。检查故障路径上的设置并将默认的 30 秒值更新为 0,这在处理预期的 http 错误时更有意义。