COGNOiSe.com - The IBM Cognos Community

IBM Cognos 8 Platform => COGNOS 8 => COGNOS 8 Administration => Topic started by: bvk.cognoise on 01 Jun 2011 06:38:08 AM

Title: how can i do load balancing ?
Post by: bvk.cognoise on 01 Jun 2011 06:38:08 AM
hi,

how can i do load balancing in cognos?if  we configure more than one dispatcher is it helps to load balancing?

thanks
bvk

Title: Re: how can i do load balancing ?
Post by: RobsWalker68 on 01 Jun 2011 07:43:15 AM
Hi bvk,

You can load balance at a number of levels such as gateway, dispatcher and application tier.

Gateway load balancing is handled outside of Cognos by using either a  router or using software such as the Windows network load balancing service.

To load balance the dispatchers you can again either use a router or install a dispatcher that is dedicated to disptching only.

At the application tier layer Cognos will automatically load balance when you register additional application tier servers.  As a simplified example if you have one gateway and two application tier servers.  The gateway will pass the request to the primary dispatcher and this will then route it to the appropriate server.  There's a whole lot more that goes on in the process flow with various services and content manager but that's the gist of it.

You can of course get a bit more specific with the load balancing mechanism by dedicating certain services such as the batch report process  to a given server or by using advanced dispatcher routing to allocate user groups and packages to a certain server.

Kind Rgds

Rob 









Title: Re: how can i do load balancing ?
Post by: bvk.cognoise on 01 Jun 2011 07:57:25 AM
Hi RobsWalker68,

thank you very much for your information.it helps me a lot. :)

thanks
bvk
Title: Re: how can i do load balancing ?
Post by: bvk.cognoise on 02 Jun 2011 01:00:37 AM
HI RobsWalker68,

if i have more than one dispathers where should i configure that external dispathers URI  for load balancing.means do i need configure it  to webserver (gateway)or dataserver.


thanks
bvk
Title: Re: how can i do load balancing ?
Post by: RobsWalker68 on 06 Jun 2011 03:56:06 PM
Hi bvk,

If you have as example a distributed system with 4 servers (1 gateway, 2 application servers, 1 content manager), where Server B is handling Framework Manager/Metric Designer connections

Server A: Gateway
Server B & C Application tier
Server D Content Manager

Server A Gateway
External Dispatcher URI:" http://ServerB:9300/p2pd/servlet/dispatch/ext"
External Dispatcher URI: "http://ServerC:9300/p2pd/servlet/dispatch/ext"

Server B Application Tier
Gateway URI: "http://ServerA:80/cognos x/cgi-bin/cognos.cgi"
External Dispatcher URI: "http://ServerB:9300/p2pd/servlet/dispatch"
Internal Dispatcher URI: "http://ServerB:9300/p2pd/servlet/dispatch"
Dispatcher URI for External applications: "http://ServerB:9300/p2pd/servlet/dispatch"
Content Manager URI's: "http://ServerD:9300/p2pd/servlet/"

Server C Application Tier
Gateway URI: "http://ServerA:80/cognos x/cgi-bin/cognos.cgi"
External Dispatcher URI: "http://ServerC:9300/p2pd/servlet/dispatch"
Internal Dispatcher URI: "http://ServerC:9300/p2pd/servlet/dispatch"
Dispatcher URI for External applications: "http://ServerB:9300/p2pd/servlet/dispatch"
Content Manager URI's: "http://ServerD:9300/p2pd/servlet/"

Server D Content Manager
External Dispatcher URI:  "http://ServerD:9300/p2pd/servlet/dispatch"
Internal Dispatcher URI:  "http://SefverD:9300/p2pd/servlet/dispatch"
Dispatcher URI for External applications: "http://ServerB:9300/p2pd/servlet/dispatch"
Content Manager URI's:  "http://ServerD:9300/p2pd/servlet/"

Hope this helps

Rgds

Rob

Title: Re: how can i do load balancing ?
Post by: bvk.cognoise on 06 Jun 2011 10:52:59 PM
Hi RobsWalker68,

excellent answer this answer clarified all my doubts.thank you very much.


thanks
bvk
Title: Re: how can i do load balancing ?
Post by: MFGF on 10 Jun 2011 03:49:55 AM
Just to add to this, if you are using your primary dispatcher to load balance, it will load balance requests between both its locally installed services, and any other application servers in the mix.  The logic it uses is weighted round robin, whereby each other dispatcher it knows about has a weighting value associated with it, and this is used to calculate what portion of the requests should be allocated to that dispatcher (and therefore to its dependent services).  For fairly light loads, utilising up to half of the number of service connections local to the dispatcher, it will keep processing local, and then start to distribute requests to other dispatchers once more than half of its connections are in use.

If you wanted to replace this mechanism with, say, an external router to handle the load balancing between the application servers, then the dispatcher load balancing should be switched from weighted round robin to cluster compatible.  This would then turn off the logic to distribute requests to other dispatchers (but still allow the dispatcher to load balance requests between its local service connections).

Probably entirely useless knowledge, but maybe it helps understand a little more about the way load balancing works.

Regards,

MF.
Title: Re: how can i do load balancing ?
Post by: cognosun on 13 Jun 2011 09:59:28 AM
now i have a basic doubt...

Isn't the Dispatcher part of Application Server ?
Title: Re: how can i do load balancing ?
Post by: RobsWalker68 on 13 Jun 2011 10:23:27 AM
Quote from: cognosun on 13 Jun 2011 09:59:28 AM
now i have a basic doubt...

Isn't the Dispatcher part of Application Server ?

Hi,

Yes the application tier will contain a dispacher that routes and operates the selected services on that server.  What's the doubt?

Rgds

Rob 
Title: Re: how can i do load balancing ?
Post by: bvk.cognoise on 13 Jun 2011 11:56:31 PM
Hi cognosun,

Dispatcher and content manger is a part of application server.please find the attachment.


thanks
bvk
Title: Re: how can i do load balancing ?
Post by: cognosun on 14 Jun 2011 05:20:26 AM
My doubt is about this sentence "You can load balance at a number of levels such as gateway, dispatcher and application tier".

I know load balancing at gateway and application tier level...but never heard of dispatcher level ( when it is part of application tier itself).

I think you explained this in your answer....just trying to understand :-)
Title: Re: how can i do load balancing ?
Post by: RobsWalker68 on 14 Jun 2011 05:41:37 AM
Hi Cognosun,

In this case the web gateway(s) will pass requests to a dedicated dispatcher. (See attached diagram) 

That dispatcher will only be performing the role of dispatcher and therefore the other services e.g. report service, batch report service etc are disabled locally on that server and therefore its sole role is to route requests to the other dispatchers in the application tier.

Kind Regards

Rob