TM1Web vs TM1 Server Explorer DeathMatch
I have a strong dislike for TM1Web and here is why...
Quick Traffic Analysis comparison
On the recommended practices site from Applix, the following article TM1 Deployment Options and Network Bandwidth Considerations claims that TM1Web is more suited to low bandwidth networks.
O RLY? So I decided to give it a go with Wireshark, great network analysis tool, used to be known as Ethereal.
I do 2 runs, one with Server Explorer (direct over TCP/IP no HTTP), the other with TM1Web
The analysis takes place between a Windows XP client and Windows 2000 Advanced server hosting TM1. Both are using TM1 9.0SP2, the only customisation brought to TM1Web was to remove the top left TM1 logo so that should have only a neglectable effect on the statistics.
In each case:
.close all connections to TM1 server
.on the client host, Wireshark capture filter set to log only packets to and from the TM1 Server
Capture -> Options
set Interface to the ethernet card in use
set capture filter to that string:
host "TM1 server IP"
if the TM1 server has the IP 192.168.0.10 then the capture filter must be:
.check the capture baseline is flat to be sure there will be no other traffic
.start logging packets just before opening the view
.open a "decent" view, 412 rows x 8 columns
.scroll through all the rows until bottom is reached
Results (in Wireshark, Statistics -> Summary):
978 kBytes went through the network with TM1Web
150 kBytes went through the network with server explorer/cube viewer
So much for saving bandwidth with TM1Web, it is actually consuming at least 5 times more traffic than Server Explorer.
If I get more time I will look in the packets to see why there is so much overhead with TM1Web, my initial guess is this is caused by the additional HTTP protocol layer.
This time I tried with another view, 7 dimensions, 415 rows by 9 columns
947 kB for TM1 Web
147 kB for cube viewer
And I pushed the analysis a bit further.
Wireshark Menu: Statistics -> Protocol Hierarchy
As you can see HTTP takes up only 8.7% of the total traffic, but that is already 47 kBytes just to embed data on the wire, cube viewer would have already transfered 30% of the view in the same amount of bytes!
Now let's breakdown the conversation between the client and server.
From the Wireshark menu: Statistics -> Conversation List -> TCP
The popup window now displays the TCP conversations by size, the fattest are at the bottom.
So let's see what is causing all that traffic...
Right click the last one: Apply As Filter-> Selected -> A--B
then from the Wireshark menu: Analyze -> Follow TCP Stream
You can now see what makes up all that traffic, and the culprit is....
OMG ALL THAT JUNK HTML CODE!
and that is sent every single time you press the little arrows to change the page on a view.
You would think TM1Web would somehow send only the actual data and leave the formatting processing to the client (AJAX?) to spare the network and boost response times, well it is just not the case.