Pacific parameters for performance tunning

Posted by dziugasj on 29-Apr-2015 04:26

For one Pacfic instance (for example oepas1) we have one Session manager, one MS Agent which controls numerous ABL sessions.

Can please anybody explain Pacific parameters from openedge.properties:

[AppServer.SessMgr]

agentStartupParam --> connection to the db is made here

maxABLSessionsPerAgent=200 --> When number of Sessions is increased ? I always get initial number from numInitialSessions

maxAgents=10  --> For Pacific development version MS Agent is always one ?

maxConnectionsPerAgent=50 --> Do not understand this parameter and how to tune it, description from README does not help.

numInitialAgents=1

[AppServer.Agent]

numInitialSessions=50 --> Number of Sessions per MS Agent. This parameter determine how many DB connections are made

P.S.

What for several MS agents are needed if we have a lot of sessions ?

Posted by dziugasj on 30-Apr-2015 00:30

Thank you for response.

All Replies

Posted by Satya Prasad on 29-Apr-2015 05:04

 
maxABLSessionsPerAgent=200 -> This represents Maximum number of concurrent sessions an MS agent can spawn/start.

>> maxAgents=10  --> For Pacific development version MS Agent is always one ?

For Development, the limit is one though it configured as 10.

maxConnectionsPerAgent=16 -> I think, This represents Maximum number of concurrent connections an MS agent can have
 
Thanks,
 
[collapse]
From: dziugasj [mailto:bounce-dziugasj@community.progress.com]
Sent: Wednesday, April 29, 2015 2:57 PM
To: TU.OE.Development@community.progress.com
Subject: [Technical Users - OE Development] Pacific parameters for performance tunning
 
Thread created by dziugasj

For one Pacfic instance (for example oepas1) we have one Session manager, one MS Agent which controls numerous ABL sessions.

Can please anybody explain Pacific parameters from openedge.properties:

[AppServer.SessMgr]

agentStartupParam --> connection to the db is made here

maxABLSessionsPerAgent=200 --> When number of Sessions is increased ? I always get initial number from numInitialSessions

maxAgents=10  --> For Pacific development version MS Agent is always one ?

maxConnectionsPerAgent=50 --> Do not understand this parameter and how to tune it, description from README does not help.

numInitialAgents=1

[AppServer.Agent]

numInitialSessions=50 --> Number of Sessions per MS Agent. This parameter determine how many DB connections are made

P.S.

What for several MS agents are needed if we have a lot of sessions ?

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by Michael Jacobs on 29-Apr-2015 05:10


The agentStartupProc & agentStartupParam is used to do some one-time OS level initialization for Agent OS process.   So your DB and all other ABL session startup options should go in the agentStartupParams, which is delivered to each ABL session started in the Agent.

In a production server the number of ABL sessions present in any one Agent is increased automatically from numInitialSessions when a new client request is received and all of the existing ABL sessions are busy executing other client requests.

Yes the development version of PAS for OE is limited to 5 concurrent client requests - where all 5 must run in the same Agent.  So we limit the number of Agent processes to one and eliminate confusion and complexity.   The production version has no limits on the number of ABL sessions that may be spread across one or more Agent processes.   The indicators so far has shown that a single Agent process is generally sufficient for the old Stateless or State-free application models, but it REALLY depends upon how the ABL application is written.

maxConnectionsPerAgent ...   That controls the number of concurrently running client requests an one Agent process can execute.   Each actively executing client request runs in a separate OS thread. 

numInitialSessions indicates how many ABL sessions will be pre-started when an Agent OS process is started.  After all of the ABL sessions have been started the PAS for OE server is then ready to service incoming client requests.  

Production PAS for OE servers will automatically scale the number of Agent processes, up to the maximum number, when all of the existing Agents are engaged in actively running the maximum # of concurrent client requests.   

Does this help?

Mike J.

[collapse]
From: dziugasj <bounce-dziugasj@community.progress.com>
Reply-To: "TU.OE.Development@community.progress.com" <TU.OE.Development@community.progress.com>
Date: Wednesday, April 29, 2015 at 5:27 AM
To: "TU.OE.Development@community.progress.com" <TU.OE.Development@community.progress.com>
Subject: [Technical Users - OE Development] Pacific parameters for performance tunning

Thread created by dziugasj

For one Pacfic instance (for example oepas1) we have one Session manager, one MS Agent which controls numerous ABL sessions.

Can please anybody explain Pacific parameters from openedge.properties:

[AppServer.SessMgr]

agentStartupParam --> connection to the db is made here

maxABLSessionsPerAgent=200 --> When number of Sessions is increased ? I always get initial number from numInitialSessions

maxAgents=10  --> For Pacific development version MS Agent is always one ?

maxConnectionsPerAgent=50 --> Do not understand this parameter and how to tune it, description from README does not help.

numInitialAgents=1

[AppServer.Agent]

numInitialSessions=50 --> Number of Sessions per MS Agent. This parameter determine how many DB connections are made

P.S.

What for several MS agents are needed if we have a lot of sessions ?

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by dziugasj on 29-Apr-2015 06:39

That explains a lot. I have few more aspects to clarify.

For example, we have one database connected (configured in agentStartupParam).

Then we start Pacific with initial 10 sessions.

From PROMON we can see: 1 SELF/PASA, and 10 SELF/PASN. So for each session separate db connection is made ? And if we have axABLSessionsPerAgent=200, then it meats that theoretically 201 db connections can be made ?

And another question. When the session is released (trimmed) ? Instantly after client requests is finished ?

Posted by Michael Jacobs on 29-Apr-2015 09:46


This appears to be a self-service (shared memory) connection.  As I understand it:
Each Agent process has:
    1 physical connection to the OE database (SELF/PASA) that shares with all of the Agent's ABL sessions
    10 user-connections (i.e. independent client connection), 1 per ABL session, that shares the common physical connection above

The net result is that each ABL session's database connection maintains its own user-id, audit-id, state, etc.  I'm not going to try and describe the physical I/O aspects, which needs a really clear description.

If you set the maxABLSessionsPerAgent=200, AND 200 ABL sessions are actually started, then I would think you would see a total of 201.  So it would be like a classic AppServers that have a total of 200 Agent OS processes running, + 1 for the Agent's physical connection sharing.

The PAS for OE server has a background thread that runs and scans for 'idle' ABL sessions and Agents.  The scan frequency is configurable via the idle* properties in the [AppServer.SessMgr] group.   For an ABL session to be 'trimmed' it would not have executed a client request in idleSessionTimeout time.

Mike J.

[collapse]
From: dziugasj <bounce-dziugasj@community.progress.com>
Reply-To: "TU.OE.Development@community.progress.com" <TU.OE.Development@community.progress.com>
Date: Wednesday, April 29, 2015 at 7:40 AM
To: "TU.OE.Development@community.progress.com" <TU.OE.Development@community.progress.com>
Subject: RE: [Technical Users - OE Development] Pacific parameters for performance tunning

Reply by dziugasj

That explains a lot. I have few more aspects to clarify.

For example, we have one database connected (configured in agentStartupParam).

Then we start Pacific with initial 10 sessions.

From PROMON we can see: 1 SELF/PASA, and 10 SELF/PASN. So for each session separate db connection is made ? And if we have axABLSessionsPerAgent=200, then it meats that theoretically 201 db connections can be made ?

And another question. When the session is released (trimmed) ? Instantly after client requests is finished ?

Stop receiving emails on this subject.

Flag this post as spam/abuse.

[/collapse]

Posted by dziugasj on 30-Apr-2015 00:30

Thank you for response.

This thread is closed