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.
|-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
|-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.