PAS for OpenEdge tuning recommendations
- Last Updated: January 29, 2025
- 3 minute read
- OpenEdge
- Version 12.2
- Documentation
Before you read a detailed account of PAS for OpenEdge tuning, know that there are a few parameters that you can tune to affect the performance of your application immediately. If the parameters are set correctly, they could improve the performance of your application in production.
The following illustration shows a configuration in which neither the server nor ABL application agents throttle connections to the database because the PAS for OpenEdge instance and ABL Applications have been tuned:

- Can run 200 concurrent client requests to a single stateless/statefree ABL application.
- Includes a hot-standby multi-session agent that enhances application availability. A hot-standby is a redundant method in which one system runs simultaneously with an identical primary system.
This configuration can be mimicked in your environment or altered based on your needs. This example configuration does not show how to load balance multiple instances or applications. This topic explains how to tune a single instance to get the best performance. Scaling and sizing considerations are discussed in the Scaling considerations in PAS for OpenEdge and Load balance PAS for OpenEdge instances.
Server-side tuning recommendations
To set a server configuration that can deliver the best application performance, change these parameters:
| Server Configuration Properties | Description |
|---|---|
psc.as.executor.maxthreads=200 |
The maximum number of client requests ( request execution threads) that can be executed by the server before they are placed in a wait queue. The maximum applies to all deployed Java or ABL applications. |
|
The maximum number of client requests that can be queued waiting for a request execution thread. |
The server configuration properties can be set using the PASMAN config utility. For more information, see
Use PASMAN to configure an instance.
The sum total of the above properties (maxthreads and maxqueuesize) plus
the size of the client request data affects the total process memory size of the
PAS for OpenEdge instance process.
The psc.as.executor.maxthreads configuration
property determines the high-water limit for how many concurrent client requests
the PAS for OpenEdge instance can execute. Because each client request executes
in one of these threads, the value must be as large or larger than the sum total
number of client requests by all deployed Java or ABL applications. PAS for
OpenEdge, which runs an embedded version of Tomcat, does not load balance client
requests by deployed application. Therefore, if the thread size is not large
enough, you may find that client requests to random applications are queued and
pause in the behavior of the application. The number of queued threads is set
with the psc.as.http.maxqueuesize or psc.as.https.maxqueuesize configuration property.
For more information on tuning the server configuration, see PAS for OpenEdge server-side tuning.
ABL web application tuning tips
To set an ABL web application configuration that can deliver the best application performance, change these parameters:
| ABL Application Configuration | Description |
|---|---|
numInitialAgents=2 |
Start two MS Agent OS processes: one handles all client requests and one remains idle in hot-standby mode. |
|
Maintain two running MS Agent processes at all times, where if one agent stops a second is automatically started. |
maxConnectionsPerAgent=200 |
Set to the maximum number of concurrent
client requests handed by the PAS for OpenEdge server (Set equal
to psc.as.executor.maxthreads). |
maxABLSessionsPerAgent=200 |
Set equal to the maxConnectionsPerAgent in stateless/statefree ABL
application architectures. |
OEPROP utility. For
example:oeprop.[sh|bat] AppServer.SessMgr.numInitialAgents=2
oeprop.[sh|bat] AppServer.SessMgr.minAgents=2
oeprop.[sh|bat] AppServer.SessMgr.maxAgents=2
oeprop.[sh|bat] AppServer.SessMgr.maxConnectionsPerAgent=200
oeprop.[sh|bat] AppServer.SessMgr.maxABLSessionsPerAgent=200The described configuration runs the maximum client request load
(maxConnectionsPerAgent) of 200 using one
agent OS process and the second agent OS process stays in standby mode until the
first agent OS process exits by system administrator directive or failure. The
system administrator does not have to manually create a second agent OS process
if one terminates because PAS for OpenEdge automatically creates the second
process.
The sample ABL web application configuration assumes that after load testing, a single agent OS process can run 200 client requests concurrently without exceeding OS process, CPU, memory, or IO limits. For more information about tuning ABL application configurations, see Tune OpenEdge web applications and MS Agents.
For information about machine sizing and to download a sample application that can be used for testing the tuning properties and size of the PAS for OpenEdge instance, see the PAS for OpenEdge ATM Benchmark Test and Machine Sizing Guide on Progress Communities.