TM1 Web Load Balancing

Post Reply
image2x
Posts: 125
Joined: Tue Jun 02, 2009 7:05 pm
OLAP Product: TM1, PAX, PAW, SPSS
Version: 2.0.916.10 on RHEL
Excel Version: 2016
Location: Minneapolis, MN

TM1 Web Load Balancing

Post by image2x »

I'd like to hear people's thoughts and hopefully experiences with load balancing the web-tier in TM1 environment.

I know TM1, as a data store, doesn't support clustering or load balancing (not counting replication). Is it possible for the web tier?

Possible LB options
(1) Active-Active: Would LB need to manage persistence so that client was connected to same IIS instance for duration of session?
(2) Active-Active: Round-robin/Least Loaded. Possible?
(3) Active-Failover: Yes, with caveat that all sessions would be lost?
(4) Other?

Our particular enviroment utilizes Cognos CAM (i.e. BI) security. I'm sure this complicates things.

Also, any observations on tuning or sizing of web-servers based on TM1 concurrency or other factors would be useful! Content will be 90% TM1 Web Sheets, perhaps 25-50 peak concurrency (not connected users but rather simultaneous requests).

As always, thanks.
-- John
tomok
MVP
Posts: 2831
Joined: Tue Feb 16, 2010 2:39 pm
OLAP Product: TM1, Palo
Version: Beginning of time thru 10.2
Excel Version: 2003-2007-2010-2013
Location: Atlanta, GA
Contact:

Re: TM1 Web Load Balancing

Post by tomok »

Those are all interesting theoretical questions about load balancing. However, the fact remains TM1Web does not do load balancing except in only the crudest sense where you tell one group of people to use server A, another group to use server B, etc. TM1Web resources are not going to be your problem anyway, it's the TM1 server itself that's going to be the problem. Also, running TM1Web on a different box than the TM1 service just doesn't perform nearly as well as having them both on the same box. If it were me I would load balance by segregating users by box, with both the TM1 service and TM1Web running on the same machine, then using either replication or some other scheme to keep them in synch. I know this goes against recommended practice from IBM but I've found it to perform best.
Tom O'Kelley - Manager Finance Systems
American Tower
http://www.onlinecourtreservations.com/
image2x
Posts: 125
Joined: Tue Jun 02, 2009 7:05 pm
OLAP Product: TM1, PAX, PAW, SPSS
Version: 2.0.916.10 on RHEL
Excel Version: 2016
Location: Minneapolis, MN

Re: TM1 Web Load Balancing

Post by image2x »

So fundamentally, two separate web servers with TM1 web components cannot connect to the same TM1 instance?
tomok
MVP
Posts: 2831
Joined: Tue Feb 16, 2010 2:39 pm
OLAP Product: TM1, Palo
Version: Beginning of time thru 10.2
Excel Version: 2003-2007-2010-2013
Location: Atlanta, GA
Contact:

Re: TM1 Web Load Balancing

Post by tomok »

image2x wrote:So fundamentally, two separate web servers with TM1 web components cannot connect to the same TM1 instance?
Of course they can, it's just not going to gain you much.
Tom O'Kelley - Manager Finance Systems
American Tower
http://www.onlinecourtreservations.com/
lotsaram
MVP
Posts: 3651
Joined: Fri Mar 13, 2009 11:14 am
OLAP Product: TableManager1
Version: PA 2.0.x
Excel Version: Office 365
Location: Switzerland

Re: TM1 Web Load Balancing

Post by lotsaram »

tomok wrote:Those are all interesting theoretical questions about load balancing. However, the fact remains TM1Web does not do load balancing except in only the crudest sense where you tell one group of people to use server A, another group to use server B, etc. TM1Web resources are not going to be your problem anyway, it's the TM1 server itself that's going to be the problem. Also, running TM1Web on a different box than the TM1 service just doesn't perform nearly as well as having them both on the same box. If it were me I would load balance by segregating users by box, with both the TM1 service and TM1Web running on the same machine, then using either replication or some other scheme to keep them in synch. I know this goes against recommended practice from IBM but I've found it to perform best.
Yes TM1Web doesn't do load balancing you have to DIY, doesn't mean it can't be done. There are a few points I would counter, #1 being whether the bottleneck is likely to be the TM1 server or the web server. Clearly it all depends on model design. But assuming the model design is appropriate, and especially if it makes good use of newer features like sandboxing and parallel interaction then there's no reason why the TM1 server itself won't cope admirably with several hundred concurrent users doing data entry, but there's no way that a single TM1Web instance will cope with anywhere near this volume of users. So my answer would be that yes connecting several web instances to a single server instance can in fact gain a great deal in terms of performance. In such a case you have to do something to balance load with the web UI with round-robin being I think the easiest method to implement. All this requires is providing an alias to users of the "link to TM1 web" which runs the round-robin algorithm and redirects the user to one of the real TM1 web instances. I think for any "high volume" or high concurrency situation this is a much better approach than aggregating pre-defined groups of users by box. The authentication mode shouldn't really impact this setup, the main thing is there is an extra step involved (which can be invisible to the user so I don't think it matters.)

Note that it is possible to even do such load balancing on a single server by setting up separate TM1 Web virtual directories and assigning separate w3wp.exe worker processes to each instance, a separate server (physical or virtual) isn't required. Especially with modern servers this can make much better use of the hardware. What is required is a good windows or IIS admin who knows what they are doing to set up the virtual directories and worker threads as this is a little too technical for most folks (including yours truly). The OOTB plain vanilla install for TM1Web really isn't optimized for such high usage scenarios.

While I wholeheartedly agree that it is typically best from a performance, setup and maintenance point of view to run the database server and web server on the same box, the reality is that many corporate IT departments impose a restriction where application servers must be separate from web servers. So often there may not be a choice in this aspect of the system architecture.

I would also wholeheartedly agree that there should be some sort of OOTB customization and configuration tool provided for TM1Web to enable web server load balancing. If IBM wants to promote TM1 as handling high concurrency write-back planning applications with a web front end then something should be provided to enable this (even a technical white paper describing how to properly configure TM1 Webfor such a scenario would be a good start.)
tomok
MVP
Posts: 2831
Joined: Tue Feb 16, 2010 2:39 pm
OLAP Product: TM1, Palo
Version: Beginning of time thru 10.2
Excel Version: 2003-2007-2010-2013
Location: Atlanta, GA
Contact:

Re: TM1 Web Load Balancing

Post by tomok »

I am aware of the "round robin" idea but would argue that it's only marginally better, (or maybe even worse) than assigning users to a specific TM1Web server because it has no way to assign users based on their usage patterns. If you assign users to a box you can first analyze their usage patterns and then spread the users to boxes in an attempt to "balance" the total usage.
Tom O'Kelley - Manager Finance Systems
American Tower
http://www.onlinecourtreservations.com/
lotsaram
MVP
Posts: 3651
Joined: Fri Mar 13, 2009 11:14 am
OLAP Product: TableManager1
Version: PA 2.0.x
Excel Version: Office 365
Location: Switzerland

Re: TM1 Web Load Balancing

Post by lotsaram »

tomok wrote:I am aware of the "round robin" idea but would argue that it's only marginally better, (or maybe even worse) than assigning users to a specific TM1Web server because it has no way to assign users based on their usage patterns. If you assign users to a box you can first analyze their usage patterns and then spread the users to boxes in an attempt to "balance" the total usage.
I'd agree with the assertion that with round robin you don't know what type of user you are assigning to a particular server, but then you just make your assumptions as to "average user profile" conservative enough that your maximum expected user count per web process instance will not choke the web server instance. The problem with pre-assigning certain user populations to a particular web server instance is that the users will tend to share not only the same usage profile but also the same pattern in terms of peak usage times which can leave them all competing for the same resource at the same time (and then how do you logically split a user group too large for one web server to cope with). Most of the time simpler is better, for a low volume application (<100 simultaneous web users) don't bother with multiple web instances at all as there's no benefit (unless failover is required!). For "medium" volume of 100+ then if users can be corralled into groups of 50 - 100 users and given separate TM1 web addresses to use then this is probably going to be adequate and much simpler than a load balancing algorithm. But if you have multiple 100s of users then round robin (or the more advanced variants thereof) is better as you should need less "hardware" or at least fewer IIS worker processes to adequately balance the load and ensure that all web servers have some workload while one is not being overworked.
dfrench77
Posts: 52
Joined: Thu Feb 17, 2011 2:52 pm
OLAP Product: TM1
Version: 9.5
Excel Version: 2007

Re: TM1 Web Load Balancing

Post by dfrench77 »

Has anyone configured TM1 Web using the TM1 Web ExternalUrl parameter with Cognos security authentication and a load balancer?
dfrench77
Posts: 52
Joined: Thu Feb 17, 2011 2:52 pm
OLAP Product: TM1
Version: 9.5
Excel Version: 2007

Re: TM1 Web Load Balancing

Post by dfrench77 »

Has anyone configured TM1 Web using the TM1 Web ExternalUrl parameter with Cognos security authentication and a load balancer?
Follow up on original question related to load balancing. We have an external load balancer appliance F5 Big IP LTM1600 and would like to deploy it to load balance TM1 Web. I located a document on the web indicating that it can be done by adding ExternalUrl parameter to the web.config. Anyone on this forum has any experience doing something like this?
User avatar
jpm_de
Posts: 22
Joined: Thu Jun 10, 2010 5:19 pm
OLAP Product: TM1
Version: 10.2.2 FP3
Excel Version: 2010

Re: TM1 Web Load Balancing

Post by jpm_de »

http://www-01.ibm.com/support/docview.w ... wg21671642

Maybe, the TM1 Web part is interesting... (and Application Web to old Enterprise Planning customers?)
Why TM1? Because ...with great dimensionality there must also come -- great responsibility!
(http://www.quotecounterquote.com/2012/0 ... great.html)
Post Reply