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


Reply via email to