SCBroker is a background mode server componet which provides intra server load balancing by routing the incoming login requests to the MT processes of the application Object manager.
SCBroker serves the new login requests from the web server by listening to a static, configurable port 2321 which is set by the parameter "Static Port Number" (alias portnumber). once SCBroker receives request from the web server, it forwards the request to the processes in the application object manager running on the Siebel server.
SCBroker uses a connection forwarding algorithm to forward the requests to the processes depending on the value set in the hidden parameter "Connection Forward algorithm" (alias ConnForwardAlgorithm). This parameter has 2 possible values:
SCBroker serves the new login requests from the web server by listening to a static, configurable port 2321 which is set by the parameter "Static Port Number" (alias portnumber). once SCBroker receives request from the web server, it forwards the request to the processes in the application object manager running on the Siebel server.
SCBroker uses a connection forwarding algorithm to forward the requests to the processes depending on the value set in the hidden parameter "Connection Forward algorithm" (alias ConnForwardAlgorithm). This parameter has 2 possible values:
- LL (Least Load)
- RR (Round robin)
LL is the default value. This identifies the process which has the lowest number of tasks/threads running in the application object manager and assigns the request to the process. The RR algorithm distributes the request to the next process running in the application object manager in a round robin fashion.
LL is advisable interms of performance. Although LL is recommended it is sometimes necessary to change to RR to troubleshoot SCBroker Hangs where the least loaded Process (pid) has hanged.
In this case, SC Broker will try to repeatedly send new login requests from the web server to the least loaded MT server (pid), but the process has already hanged and we see a server busy message on the UI.
changing the parameter to "ConnForwardAlgorithm" to "RR" has got the below advantages:
- The hanging process(pid) will be contacted by the SCBroker only once and the next request is routes to another process. Thus the user gets error on UI only once until it comes back to the hanging thread again in round robin fashion.
- By monitoring how the new tasks are getting created on the MT processes (pid), we can narrow down to the process (pid) that has hanged and further troubleshoot by taking userdump and pstack for the single process and then bounce it.
SCBroker forwarding mode is specific to each siebel server and thus we can have a mix of LL and RR setup in the siebel enterprise.
We need to bounce the component when we change the parameter. existing users are not affected by this bounce.
Note: You can stop routing requests from the web server to a specific Siebel server by temporarily shutting down the SCBroker component.