Hi Jens, The behaviour you describe doesn’t seem abnormal if the round-trip time for a request is around 20ms in you test setup. A single InvokeHTTP would process requests one by one and that gives 1000 ms /20 ms = 50 requests per second. Increasing concurrent tasks to send requests in parallel is exactly the right solution here and you test results show as much.
If the round trip time is much smaller than 20 ms, you should be able to tune the scheduling to get more throughput per concurrent task. I would test increasing the run duration to let the processor take on more tasks without yielding in between. This will impact the rest of your flows if you set it too high though. Regards, Isha Van: Jens M. Kofoed <[email protected]> Verzonden: vrijdag 4 maart 2022 09:35 Aan: [email protected] Onderwerp: InvokeHTTP performance - max out at 50 post per sec. Hi I have created some small test with invokeHTTP, and it seems like that invokeHTTP only can handle 50 flowfiles per second. If I configure the invokeHTTP to have x Concurrent Tasks, the output increase with x times. I created a very small flow GenerateFlowFile File Size: 100kb Batch size: 100 Run Schedule: 1 sec -> InvokeHTTP: HTTP Method: POST The receiving host, is another nifi node with HandleHttpRequest/HandleHttpResponse. And it has no issue handling 4x invokeHTTP. So are there something in invokeHTTP which can be tweaked to perform more than 50 files per sec? Kind regards Jens M. Kofoed
