Decision Management (ODM,ADS)

 View Only
Expand all | Collapse all

Can be the pool.maxSize parameter of the XU affected by some other setting?

  • 1.  Can be the pool.maxSize parameter of the XU affected by some other setting?

    Posted Mon November 07, 2022 01:26 PM

    Is there a relation between the liberty parameter connectionManager.maxPoolSize and the xu parameter pool.maxSize of the XU?

    I'm trying to explain why after doubling the load during stress testing, the memory consumption and CPU is not affected at all (continues at 40% aprox) while the response time increases proportionally to the throughput.

    I was expecting that XU will increase dynamically the number of engines in the pool, so CPU usage should increase and response time should not increase lineally. Am I wrong?

    I think that it should be another unknown limit that is hit before the XU pool size.
    Maybe there is a limit on the number of threads per core or maybe the liberty connectionManager.maxPoolSize (by the way defaulted to 40) or maybe other setting at OS level.

    Do you what can explain that behavior?
    Is @Pierre-Andre Paumelle still there to address this type of questions?

    ​Thanks.

    ------------------------------
    Eduardo Izquierdo Lázaro
    Automation Architect
    DECIDE
    Madrid
    609893677
    ------------------------------


  • 2.  RE: Can be the pool.maxSize parameter of the XU affected by some other setting?

    Posted Tue November 08, 2022 08:05 AM
    Hi Eduardo,
    pool.maxSize  and connectionManager.maxPoolSize are not linked directly.
    connectionManager.maxPoolSize will be the limit of the concurrent executions as an execution is linked to a thread.
    Best regards,
    Pierre-André Paumelle

    ------------------------------
    Pierre-Andre Paumelle
    Performance Architect
    IBM
    -
    ------------------------------



  • 3.  RE: Can be the pool.maxSize parameter of the XU affected by some other setting?

    Posted Tue November 08, 2022 09:58 AM
    Many thanks Pierre-Andre, let me rephrase, to see if I understood well:

    If I want to run up to 100 decision services simultaneously and I set pool.maxSize=100 in ra.xml, but connectionManager.maxPoolSize=40, then I won't be able to run more than 40 decision services in parallel. Is that correct?

    Note that executions are run through DecisionService.war in liberty and I was understanding that you replaced in HTDS the usage of JCA by a proprietary implementation of the connection pool.



    ------------------------------
    Eduardo Izquierdo Lázaro
    Automation Architect
    DECIDE
    Madrid
    609893677
    ------------------------------



  • 4.  RE: Can be the pool.maxSize parameter of the XU affected by some other setting?

    Posted Wed November 09, 2022 07:55 AM
    Eduardo, 
    That is correct. 
    The pool.maxSize sizes the pool of the rulesets and avoid the parsing.
    For exemple a customer has 3 rulesets and 40 executions which chains the executions of the 3 rulesets. In that case the optimal setting will be :  connectionManager.maxPoolSize=40 and pool.maxSize=121 ( 3 * the number of concurrent executions + one connection for management)




    ------------------------------
    Pierre-Andre Paumelle
    Performance Architect
    IBM
    -
    ------------------------------