Tomcat v WeblogicNovember 9, 2007 at 10:15 am | Posted in Performance | 5 Comments
Tomcat v Weblogic (or WebShpere or Oracle AS) – this is one of the perennial questions that comes up when discussing Documentum deployments and often the main topic is one of performance. I attended an ask-the-experts session at Momentum this week and this question was addressed by Ed Bueche. His answer was that whenever they had looked at this there didn’t seem to be a big difference, and that accords with my recollection from the benchmarking whitepapers Ed’s team have produced on this.
Ed did make a couple of interesting additional points. First although the product vendor (BEA, IBM, Open source) didn’t make a lot of difference to performance, the version of the jvm did. As new versions (1.4 -> 1.5 -> 1.6) of the JVM were released there seemed to be very substantial improvements in performance. There can also be differences in the JVM implementations (Sun v JRockit) although this can vary according to OS (and possibly hardware) platform. Secondly in one particular area Tomcat does ‘score well'; it does seem to be lighter on memory than Weblogic. The inclusion of weblogic in the Content Server deployment in D6 does now make it difficult to deploy Documentum suite on a 2GB laptop (something that’s very important to people who need to demo or simply develop). Apparently EMC are working on this. In the meantime looks like I have to buy a new laptop (oh dear).
Ed went on to make the very important point (one that I fully endorse) that really you shouldn’t just be looking at simply performance as your guiding principle in which technology to choose. You need to consider the skill set of your development and support staff (including your 3rd party integrators!!!) – you are far more likely to get a successful and performant deployment if you are building on existing skills.
I would add that if you are asking the question is X ‘better performing’ than Y you are really asking the wrong question. There are many facets to performance including resouce usage (CPU, IO, Memory), features (cluster support, multipe JVM support) and platform support (Unix, Windows) that you can’t really boil it down to a single better or worse comparison. It depends very much on the specifics of your implementation.
Ed also mentioned your organisation’s attitude to support. Some organisations really like the idea of having a paid contract with a vendor to support all their important products. In this case you probably should be looking at the proprietary solutions like BEA Weblogic or WebSphere. But other places may be happy that their developers can grab the Tomcat source code work out problems and provide solutions themselves, perhaps using resources on the internet. I suspect there are even people who you can contract to provide this sort of support. In my view this is really a strategic decision that should be set at a high level by the organisation itself.
Finally there are issues to do with administration and cluster support. Although I think tomcat has come a long way on this it still lags behind. Weblogic provides clustering support out-of-the-box, whereas you probably need more effort and know-how to get clustering up and running on Tomcat. Again this goes back to the existing skill set – if you already have people with considerably experience with Tomcat this is much less of an issue.