Client/Server Parameters (S)
This option automatically generates $PROTOP/rpt/ .servers.rpt and displays it in the ProTop File Viewer. The report displays global and broker-specific parameters for client/server brokers.
See the ProTop File Viewer page for instructions on how to navigate in the file viewer or hit '?' to bring up a help panel. 'x' or 'q' will exit the report display and return you to the previous screen.
Common Parameters
Parameter | Description |
-n | Maximum Number of database connections |
-pollset | Use the pollset mechanism |
-prefetchDelay | Delay first prefetch message |
-prefetchFactor | Prefetch message fill percentage |
-prefetchNumRecs | Minimum records in prefetch msg |
-prefetchPriority | Suspend queue poll priority |
-Mn | Maximum Number of Servers |
-Nmsgwait | Server network message wait time |
Generally speaking, we suggest using:
-prefetchDelay -prefetchFactor 100 -prefetchNumRecs 9999
The idea is to fill every message buffer as much as possible. Note that the query must be of type 'no-lock' and prefetch for these parameters to have any effect. A share-lock or exclusive-lock query will always return one record per network message.
The -Mn parameter should be the sum of all the individual broker -Mpb values, plus the number of brokers, plus a good buffer. For example, if you start a 4GL broker with -Mpb 20 and a SQL broker with -Mpb 5, the calculated value of -Mn is 24 + 2 = 26, however the suggested value would be 40 or 50. The memory cost for the additional slots in the server table is negligible.
Per Broker Parameters
Parameter | Description |
-ServerType | SQL, 4GL or Both |
-S | The TCP/IP listening port |
-PendConnectTimeout | Timeout for pending connections |
-N | Deprecated - always TCP - do not use |
-Mpb | Number of servers for this broker |
-Mp | Deprecated - do not use |
-Mm | Message buffer size |
-Mi | Minimum users per server |
-Ma | Maximum users per server |
-minport | Minimum port number for spawned server |
-maxport | Maximum port number for spawned server |
-ipver | IPV4 or IPV6 |
We always suggest segregating SQL connections and 4GL connections to separate brokers, using the -ServerType startup parameter.
As of OpenEdge 12, the SQL broker and the 4GL broker are multi-threaded, so there is no need to start a large number of server processes. 20 users per server (-Ma 20) is acceptable, then set the number of servers (-Mpb) accordingly. For example, 100 users could be served by a broker with -Mi 1 -Ma 20 -Mpb 5. Do not, however, start only one server. Start at least two (-Mpb 2).
In OpenEdge 10, there is a known bug with the SQL broker forcing a maximum of 5 users per server (-Ma 5). Adjust -Mpb accordingly.
For OpenEdge 11 or earlier 4GL brokers, -Ma 5 is good starting value. Higher values could be used for less active users and lower values for more active users.
If your application relies heavily on AppServer processes connected in client/server mode, consider using -Mi 1 -Ma 1 to dedicate one server process per AppServer/WebSpeed agent. The commercial version of ProTop includes long-term statistics on agent usage which can help you select optimal broker startup parameters.