For best performance, you must determine the optimal settings for the server pool parameters (Pool Range subcategory of the Agent parameters) in the OpenEdge Explorer or OpenEdge Management:
Initial number of servers to start (initialSrvrInstance property in ubroker.properties)
Minimum servers (minSrvrInstance property in ubroker.properties)
Maximum servers Instances (maxSrvrInstance property in ubroker.properties)
In general, you must consider the number of clients, the design of your application (including the AppServer operating mode), and the hardware resources that run your AppServer. At a minimum, follow these guidelines in setting these values:
For a state-aware or state-reset AppServer — You must have one AppServer agent for each user that connects to the AppServer. That is, you need as many AppServer agents as users who connect concurrently to the AppServer.
For a stateless or state-free AppServer — You can have one AppServer agent work on requests for multiple users. At a minimum, Progress Software Corp. recommends one AppServer agent for each CPU in the machine. You can expect each AppServer agent to handle requests from up to 20 AppServer clients (or more). This is your per-agent client load. You can then scale up the number of agents to support the required multiple of per-agent client load to match your total AppServer client load. The per-agent client load also depends on the length of time it takes to complete an average client request. The longer it takes for an agent to complete client requests, the fewer clients are supported by each agent, and the more agents you need to handle the total AppServer client load. Thus, the total number of agents required is very application specific.
For more information on setting the server pool parameters, see OpenEdge Application Server: Administration.