What is the maximum value of Maximum Servers (-Mn) parameter

Posted by George Potemkin on 24-Mar-2015 05:48

What is the maximum value of Maximum Servers (-Mn) parameter?
 
Documentation (V9 through V11.5) says the max is 512 but in fact a database can be started with a higher value.
 
Progress Explorer, of course, trusts in the documentation like it does for the -maxport value:
http://knowledgebase.progress.com/articles/Article/P123130
 
According the tests on Windows the limit is applied to the sum of -Mn and -n and this sum should be less than 32765 (=32K-3).
For example, I was able to start db with:
proserve sports -Mn 32764 -n 1
proserve sports -Mn 32763 -n 2
but I got the error "OpenEdge Database Server/Broker has stopped working" with any higher values.
 
Maximum Servers per Broker (-Mpb) can be set to the any value (even higher than the -Mn) but the message # 12820 reports it as a signed short integer. In other words the -Mpb was intended to be less than 32768.
The message # 12820 was introduced in V10.1 where it replaced the message 5647:
Maximum Servers Per Broker (-Mpb): %i. (5647)
Maximum Servers Per Broker (-Mpb): %d. (12820)
 
I guess some changes in this area were done exactly in Progress V10.1 but I failed to find the "footprints" of these changes in documentation or in Progress knowledgebase.
 
The maximum server port (-maxport) must be between 1025 and 65535 . (5652)
The minimum server port (-minport) must be between 1025 and 65535 . (5653)
 
Obviously the -Mpb should not exceed -maxport minus -minport.
 
The customer of ours is starting a bit less than 500 remote client servers per a database and we are not planning to increase this number. But in case of any troubles with remote connections we would like to be able to restart a login broker without restarting a database itself. That is why we need to start a database with the -Mn that is at least twice as higher than the real -Mpb (to have the spare slots in the -Mn table), let's say the -Mn 1024. It would be nice to get a "benediction" from the official source. ;-)
 

All Replies

Posted by Matt Baker on 24-Mar-2015 09:20

The current 11.5 doc points out that there is no maximum value for -Mn parameter and the limit is based on available system resources.  OEM was modified in 11.3 to remove the 512 limit.

Posted by George Potemkin on 24-Mar-2015 10:08

At least since V10.1C (but not in V9.1E) doc says the same: "The maximum value for the number of servers that can be started for a database is limited by available resources of the operating system."

As I alreay wrote it's not true: the size of the user control table (a.k.a. the connection table) is limited by 32K - 1 where the size is (-Mn + -n + 3). It's meaningless (though Progress allows it) to start a database with the -n less than -Mn, the normal way is: -n greater than -Mn * -Ma. Hence the -Mn is at least limited by 32764 / (-Ma + 1).

BTW, the number of records in _ActServer / _Servers VSTs was changed from -Mn to (-Mn + 1) in Progress V10.

I guess the only changes in this area was done in Progress after 10.0B and before V10.1A. I have V11.4 installed and the tests did not find any difference compared to V10.2B regarding the -Mn limit.

This thread is closed