Explain the known issues and checks to perform when it looks the requests load balancing through the SAP Web Dispatcher is not even for all the SAP Netweaver Application Servers
One of the main tasks of the SAP Web Dispatcher is Load Balancing. How it works is described in:
1.- Load balancing is performed for stateless requests and for the first request of an stateful session
Consecutive Stateful requests must be forwarded to the same SAP Netweaver Application Server as the first one.
2.- There are three ways on how the SAP Web Dispatcher balance the incoming requests:
- Simple_weighted_round_robin: Only the capacity of the server is considered.
If not set explicitly with parameter wdisp/server_ <xx>, the ABAP capacity of an instance is the number of DIA WPs.
With this mechanism, if all application servers have the same capacity and no logon groups are configured, a load test after the
counters have been reset should show around the same number of stateless requests sent to each application server.
- Weighted_round_robin (default): Again, only the capacity of the server is considered but it is used to estimate the load that the application server is currently handling:
The load is balanced using an estimation of the current load.
The server with the lowest load factor receives the next request.
If a server is assigned a request, the load factor is increased in proportion to the reciprocal value of the server capacity.
If a server responds to a request, the load factor is decreased in proportion to the eciprocal value of the server capacity.
- Adaptive: Instead of using the capacity of the application servers (static, fixed value), the response times to the periodic pings sent to the servers is used to determine the load that the application server is currently handling (load factor).
3.- None of the load balancing mechanisms take into account (in a direct way) the number of users logged in each instance, the memory available in the Netweaver Application Servers, the CPU usage or any other factors apart from the capacity of the instance OR the response time of the ping requests (in this case, factors such as CPU usage or load in the server have influence).
4.- The number of HTTP session is not a good indicator of load distribution.
Instead, we should look at "Monitor Application Servers" in SAP Web Dispatcher Admin tool. From there, you can see how many stateless and stateful HTTP(S) requests are dispatched to the servers
As mentioned already, only the stateless requests are subject to load balancing - the stateful requests belonging to one session are always sent to the same server holding the session
5.- Limitations when using “ROUTER” protocol
All network communication is encrypted. The SAP Web Dispatcher is simply forwarding bytes between the browser and the back-end and is not decrypting anything.
So, it cannot determine what is a request/response within the encrypted data stream, and therefore the load and request counters remain zero.
6.- When using SAP Web Dispatcher as load balancer for CRM applications, inflexible load balancing behavior may occur.
SAP Note 908097 : SAP Web Dispatcher: Release, Installation, Patches, Documentation
SAP Note 1026191 :Limitations on the HTTP router protocol in Web Dispatcher
SAP Note 1827131 : Web dispatcher load balancing with CRM system inflexible