Registered: Apr 2001
Location: New York
The Spring Framework
The Spring Framework is a relatively new J2EE framework which is fully documented in Rod Johnson's excellent book Expert One-on-One J2EE Design and Development.
What makes this book so exceptional is that the author pursues an architecture for web frameworks by ruthlessly breaking down all preconceived ideas about frameworks that have been inherited from other existing, popular frameworks. The prime example of this is the chapters on MVC, in which the author compares Spring's MVC design to others from Struts, Maverick and WebWork. These chapters are a must read for anybody who wants to understand the issues about MVC in a web environment.
What is even more attractive about the book is the chapters on performance. Rarely do you get such an informed study of performance based on hard numbers from real performance tests. All software developers would do well to know this material inside out before publishing any web application without doing a performance analysis.
However, we did discover a weak point in the performance analysis. The performance comparison between various view technologies - JSP, Velocity, XMLC and XSLT - showed extremely poor numbers for XSLT. Since we use XSLT a lot and have never seen such poor results, I contacted the author about this. He recommended to do a stress test similar to his, which we did on a Resin servlet engine running on Linux at a web hosting company (Resin is an optimized container for servlets and XSLT). In fact our numbers showed XSLT using Templates to be very scalable and highly performant on this platform. Our tests used 10, 20, 50 and 100 threads and scaled from 220 to 307 to 453 to 724 milliseconds response times, respectively. So the threshold was around 83 pages per second which compares very favorably with the best numbers found on page 664 of the book. Mind you, we are doing two XSLT transforms per page because we use a custom taglib for XSLT transformation in two different places on our page. The actual XSLT transforms can take between 9 and 17 milliseconds. So you see the XSLT view, which is one of the Spring view subclasses and uses Templates, should be considered a highly viable option whenever pages have any complexity that would be better handled by XSLT.
We have sent our numbers to Rod Johnson and he mentioned that he would put out some corrections. His tests used Xalan with Templates and were repeated several times. I don't know if Xalan still has this bottleneck but somebody from the Apache Xalan team should retest to check this out because it would be very bad press for the XSLT community if it still performs so poorly is it did in Rod Johnson's tests.
Report this post to a moderator | IP: Logged