When a user logs on through saplogon via a logon group. The logon program asks the message server which servers are available/active (SMLG) then logs the user onto the best perform application server. This list of available/active application servers is updated by the program RSRZLLG0. This program is scheduled by SAPMSSY6 which is run every 'x' seconds, the frequency is determined by the parameter rdisp/abapautotime = <XXX>. The default is 300(5MINS)
Regarding the usage of thresholds in SMLG: please note that the threshold is set for the instance, not for the complete system. Using a value of 400 for each instance does not make sense if this value is not reached for the complete system.
The load balancing does not support hard limits for the muber of logged on users as described in the attached note 118093. But at least you can use the limit values in SMLG to manipulate the quality value of the instances used in the load balancing.
At first you should switch the load balancing from response time oriented behaviour to more user number weighted bahaviour. This is described in note 51789. After this you should implement limits in SMLG for each(!) instance (not only for the one instance you want to limit to the mentioned 50 users). Calculate the maximum number of users and the wanted limit for the instances.
Example: you will hava a maximum of 800 users in the whole system but only 50 users on instance 1. You can choose the following limits:
User limit in SMLG:
Instance_1 50
Instance_2 250
Instance_3 250
Instance_4 250
Nevertheless it could happen that the load balancing will try to distribute more than 50 users to Instance_1 (e.g. if the response time on the others servers is very bad). Therefore I would recommend to use a certain spare for the first instance, e.g.
User limit
Instance_1 40
Instance_2 300
Instance_3 300
Instance_4 300
As soon as the user limit is reached on Instance_1 the quality value would be decreased significantly where as the quality value of the other instances will be much better as long their user limit is not met. This should ensure that the first instance will not be overloaded with users. Nevertheless we cannot give any definitive recommendation for the limits you should use, you will need to try to find working limits yourself steps by step.
Notes:
986373 - RFC load distribution
771708 - SMLG: Newly added logon group do not work
1390948 - SMLG: trace enhancements in RSRZLLG0
1385815 - How to switch on/off traces for RSRZLLG0
771708 - SMLG: Newly added logon group do not work
Transferring performance data to the monitor architecture. This is unnecessary for the refresh. The system performs this automatically using the Autoabap. Normally the reason is that the collector program is unable to get the response time for the server and in the CCMS Monitor it does not appear to be gathering data. This is the response time that is communicated to SMLG. See note: 135911 - SMLG/ST03: different response times
The utilization information is determined for every instance by a report which is executed automatically every 5 minutes. This report stores information in a special storage area in the message server from which the SAPGuis can then request the best instances of a group at that particular point in time. To avoid situations where a large number of users want to log on within this 5-minute period (this would lead to a large load being placed on the best instances of a group at that particular point in time), the utilization information for each instance is updated after every fifth logon.