OEPAS: the calculation of the maximum number of users - Forum - OpenEdge Deployment - Progress Community

OEPAS: the calculation of the maximum number of users

 Forum

OEPAS: the calculation of the maximum number of users

This question is not answered

Hello Community,

I'm trying to understand this parameters for PASOE:

Specifically:

  • Maximum number of agents
  • Maximum connections per agent
  • Maximum ABL sessions per agent

In the picture above it is default values.

The questions is: Whats means "agents"? whats means "connections per agent" and "ABL sessions per agent"?

For example, I expect that to my application will connect up to 1,000 concurrent users.

Then I leave the value of  "Maximum number of agents" as it is (10) аnd sets a new value for "Maximum connections per agent" parameter to 100.

10 x 100 = 1000 concurrent users, which can be simultaneously work on this instance, true? or not?

But what is "Maximum ABL sessions per agent" in this case? 

And why the default values for the "Maximum number of agents" is 10 and for the "Maximum connections per agent" is 16, that is 10 x 16 = 160 , but value for "Maximum ABL sessions per agent" is 200?

I suspect that I have finally got confused with this... (

All Replies
  • Number of Agents specifies the number of agent processes you want running.
     
    Number of sessions is the number of sessions a single agent process can support.
     
    Number of connections specifies the number of concurrent request an agent process can handle. This can be less than the number of sessions as requests will be queued in the session manager awaiting an available connection.
     
    Depending on the operating system and your application, you can probably decrease the number of agents and increase the number of sessions. I would go with 4 agents and 250 sessions as a start. Ideally, you want to have fewer agent processes.
     
    Dave
     
  • You understand most of it, let me explain the rest.

    1) Agents - these are multi-session agents, like our classic AppServer agents except they can handle multiple ABL sessions concurrently (the executable is _mproapsv(.exe)).

    2) Maximum ABL Sessions is the total number of sessions that Agent can handle

    3) Maximum connections per agent is the total number of "CONCURRENT" connects per Agent

    So in your example, 10 Agents X 100 Maximum ABL sessions per agent, then you would have 1000 total sessions, however, only 160 concurrent sessions, the remainder of the sessions would have to wait for a busy session to become available.

    So if you want 1000 concurrent connections total, the your settings would be something like:

    Maximum number of agents = 10

    Maximum connections per agent = 100

    Maximum ABL session per agent = 100

    Also you will need to increase the Tomcat concurrent threads value (the default is 300)

    tcman config psc.as.executor.maxthreads

          This will show you the current setting

    tcman config psc.as.executor.maxthreads=1000

          This will change the value to 1000

    tcman config psc.as.executor.maxthreads

          This will show you the new setting

    Then you will have to restart your PASOE instance for the change to take affect.

    Let me know if you have further questions, Roy

  • Thank tou for the detailed answer, Roy!

    Can I ask the last, I think, the question on this topic?

    It is about the licenses.

    >So in your example, 10 Agents X 100 Maximum ABL sessions per agent, then you would have 1000 total sessions,

    >however, only 160 concurrent sessions, the remainder of the sessions would have to wait for a busy session to become

    >available.

    In this example, if I have only 160 concurrent sessions then it is enough 160 licenses for PAS for OpenEdge? Or it needed 1000 licenses for all 1000 total sessions ?

  • Or maybe I can purchase 10 licenses "Access Agent"  for "Maximum number of agents" and that will be enough?

  • > On Dec 7, 2016, at 9:37 AM, Andriy Mishin wrote:

    >

    > Whats means "agents"? whats means "connections per agent" and "ABL sessions per agent"?

    An “agent" is a process that executes your 4GL code. It can operate on behalf of one or more clients. Think of it as a worker that runs code when people ask it to do so. The agent process is running in the tomcat environment but executes 4GL code for you. Tomcat itself is a (huge) java program.

    "Connections per agent" is the maximum number of network connections (i.e. sockets) that the agent process can have open at the same time. The connection is used to receive a client’s request and transmit a response back.

    A “session" is an active 4GL instance in the agent. Similar to when you run a program with the command “pro foo.p”. That is one session. The maximum number of sessions determines how many programs can be active at the same time in one agent. While I say the program is “active", it may not actually be doing anything as it may be waiting for a request to come in. Similar to when you interactive session is waiting for keyboard input.

    HTH