Skip to Content
Author's profile photo vasudevan nagarajan

Decoding Load Balancing in SAP

In this blog  i will introduce the concepts of load balancing and its implementation in SAP.To understand load balancing  it will be useful to reason what happens when an SAP System receives a request.If a SAP System (eg ECC) receives a request and it has only one Application server then its directly processed by the server but what happens if it has more than one  Application Server ? It has to then decide which of these servers is most eligible to receive it. This decision making is performed based on a concept called Load  Balancing.

The Load Balancing Concept

Load Balancing as the term suggests essentially means balancing the workload/requests among the servers so that the SAP system with the ability to provide the lowest possible turnaround time for requests is chosen.But what if you want exclude some application servers from processing the users requests how do you do it ? This can be done by using Logon Groups in SAP.

SMLG and Logon Groups

Logon Groups are ideally collection of Application servers and can be used by the user to inform the message server that it needs to balance the load only among the servers in the logon group.This whole activity can be done in SMLG and is explained in the help link (  prevents the user from logging on to individual servers and thereby overloading any particular server.Also it provides a layer of abstraction to the user and prevents him from being affected even if particular servers in the group are changed or removed from the group.

The ideal recommendation for assigning logon groups is to assign specific work groups(Eg FI ,Sd ..etc)  to specific logon groups as it helps in optimizing buffer usage for specific work group/applications thereby increases performance. More information about configuring logon groups is available at


Message Server and Load Balancing

In an SAP system the Message server is the component that performs load balancing.Any request to a SAP server first reaches the message server ,it then redirects the request to one of the servers chosen based on the Workload data with the message server.So how does message server gets this data and how does it use the data for calculating the work load of the servers ? The message server procures the data with the help of a background job which runs every five minutes (as defined by the parameter rdisp/autoabaptime) or every fifth logon which ever is earlier.The background job runs a report named RSRZLLG0 and this report in turn populates the two tables which provide message server with the necessary information for load balancing.Based on this procured data and the algorithm chosen a favorite list is composed.The message server then uses this list to delegate the incoming requests.


The Favorite List of the Message Server

So what is the favorite list of the Message Server ? The favorite list is list of application servers compiled based on a weighted value derived from the response time and no of user logged into the server at a point in time.The message server delegates the request to the  server with the best value in the list.

RFC logons and Load balancing

Have you ever wondered what will happen if a message server receives thousands of login request every second ? Will it then be advisable to retrieve the load data from servers every second and also  given the performance constraints of running a report every second(since the 5th logon happens within a second in this case) on the servers.Even if we try to avoid the performance issue and only retrieve it every 5 minutes it would only render the best server overloaded with all the requests recieved possibly running into 1000’s .To resolve this issue a different version of load balancing was introduced and the version needs to be set in SMLG explicity by following the note 593058.The new version uses a delta value for calculating the best server.So once the list is retrieved and first logon after the retrieval is delegated with the best server,all other logons after that deduce the best server by recalculating the list obtained after subtracting the delta values from the best server.

I hope you found my blog useful. Below are some SAP notes which you might find interesting to read.I have provided a short description of the relevance of each note.

593058 RFC Logon concept and settings to be perfomed in SMLG
118093 Usage of limiting values in influencing load balancing behaviour
1112104 Weighted Round Robin Procedure for load balancing
986373 Managing RFC Load Distribution
64015 Test programs for  load balancing
1385815 Tracing load balancing

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Andy Silvey
      Andy Silvey

      Hi Vasudevan,

      excellent blog.

      All the best,


      Author's profile photo Former Member
      Former Member

      Hi Vasudevan,

      This is a very Good Blog. Please write a blog on Work Load Monitoring as well.


      Kasi Gupta

      Author's profile photo Former Member
      Former Member

      Hi Vasudevan,

      Good info. was not aware about the job & related information.

      Will be thankful if your can provide your view on load balancing in case of JAVA.