Layer 7 API Management

Expand all | Collapse all

Run All Assertions Concurrently (performance tunning)

Jump to Best Answer
  • 1.  Run All Assertions Concurrently (performance tunning)

    Posted 19 days ago
    Edited by Albert Traveria Molero 19 days ago

    Hello Community,

    I'm working on a parallel executing assertion that basically calls different endpoints and from Live Api Creator.

    For a better understanding lets imagine I have the next scenario:

    Client --> getAllInfoGatewayMethod --> Run All Assertions Concurrently --> 9 seconds
                                                                      --> GetLacInfo1 --> response1 (2 seconds executed on LAC)
                                                                      --> GetLacInfo2 --> response2 (3,1 seconds executed on LAC)
                                                                      --> GetLacInfo2 --> response3 (4 seconds executed on LAC)
                                                                      --> GetLacInfo2 --> response4 (2,1 seconds executed on LAC)
                                                                      --> GetLacInfo2 --> response5 (2,3 seconds executed on LAC)
                                                               --> Assertions to process the extracted
                                                               --> Response Template ---> 10,1 seconds total

    Now, the issue i have is that I'm expecting it to take 4,1 or 4,5 maximum but I'm getting much more. I've tried increasing the parallelism values of the cluster (concall.globalMaxConcurrency ,concall.globalCoreConcurrency ,concall.globalMaxWorkQueue) but I'm getting more or less the same results. Any Idea how I can execute the HTTP assertions in a parallel way that I get my expected performance result?

    Reference assertion:

    Run All Assertions Concurrently Assertion


    Kind regards,
    Albert.



    ------------------------------
    Security Engineer
    ELCA
    ------------------------------


  • 2.  RE: Run All Assertions Concurrently (performance tunning)
    Best Answer

    Posted 18 days ago
    Dear Albert,
    It's more likely the bottleneck is on LAC, it's better to improve the performance/capacity on LAC side.
    If the backend server already reach its full capacity, sending more requests only make it worse, just like ddos attack. Actually, we have rate limit assertion to protect backend for this scenario.

    Regards,
    Mark



  • 3.  RE: Run All Assertions Concurrently (performance tunning)

    Posted 18 days ago
    Hello Mark,

    Yes, I'm also using for the API GW the rate limit assertion to avoid the ddos atacks. As you suggested I've requested the check on the LAC side and seems the CPU is almost all the time 100% so that will explain the lack of performance.

    Thanks a lot for your reply ;)

    Kind regards,
    Albert.

    ------------------------------
    Security Engineer
    ELCA
    ------------------------------