|
ABSTRACT
We investigate the combined effect of application implementation method, container design, and efficiency of communication layers on the performance scalability of J2EE application servers by detailed measurement and profiling of an auction site server.We have implemented five versions of the auction site. The first version uses stateless session beans, making only minimal use of the services provided by the Enterprise JavaBeans (EJB) container. Two versions use entity beans, one with container-managed persistence and the other with bean-managed persistence. The fourth version applies the session fasade pattern, using session beans as a fasade to access entity beans. The last version uses EJB 2.0 local interfaces with the session fasade pattern. We evaluate these different implementations on two popular open-source EJB containers with orthogonal designs. JBoss uses dynamic proxies to generate the container classes at run time, making an extensive use of reflection. JOnAS pre-compiles classes during deployment, minimizing the use of reflection at run time. We also evaluate the communication optimizations provided by each of these EJB containers.The most important factor in determining performance is the application implementation method. EJB applications with session beans perform as well as a Java servlets-only implementation and an order-of-magnitude better than most of the implementations based on entity beans. The fine-granularity access exposed by the entity beans limits scalability. Use of session fasade beans improves performance for entity beans, but only if local communication is very efficient or EJB 2.0 local interfaces are used. Otherwise, session fasade beans degrade performance.For the implementation using session beans, communication cost forms the major component of the execution time on the EJB server. The design of the container has little effect on performance. With entity beans, the design of the container becomes important. In particular, the cost of reflection affects performance. For implementations using session fasade beans, local communication cost is critically important. EJB 2.0 local interfaces improve the performance by avoiding the communication layers for local communications.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Rahim Adatia et al. - Professionnal EJB - Wrox Press, ISBN 1-861005-08-3, 2001.
|
| |
2
|
Subrahmanyam Allamaraju , Karl Avedal , Hans Bergsten , Richard Browett , Jason Diamond , J. Griffin , Daniel O'Connor , Larry Kim, Professional Java Server Programming, Second Edition, Wrox Press Ltd., Birmingham, UK, 2000
|
| |
3
|
Deepak Alur, John Crupi and Dan Malks - Core J2EE Patterns - Sun Microsystems Press, ISBN 0-13-064884-1, 2001.
|
| |
4
|
Cristiana Amza, Emmanuel Cecchet, Anupam Chanda, Alan L. Cox, Sameh Elnikety, Romer Gil, Julie Marguerite, Karthick Rajamani and Willy Zwaenepoel - Bottleneck Characterization of Dynamic Web Server Benchmarks - Technical Report TR02-388, Rice University, 2001.
|
| |
5
|
The Apache Software Foundation - http://www.apache.org/.
|
| |
6
|
Byte Code Engineering Libray (BCEL) - http://jakarta.apache.org/bcel/.
|
| |
7
|
BEA Systems, Inc - Achieving Scalability and High Availability for E-Business - BEA white paper, http://www.bea.com, 2001.
|
| |
8
|
Vladimir Blagojevic and Rickard Oberg - Container architecture - design notes - http://www.jboss.org/online-manual/HTML/ch12.html.
|
| |
9
|
Emmanuel Cecchet, Anupam Chanda, Sameh Elnikety, Julie Marguerite and Willy Zwaenepoel - A Comparison of Software Architectures for E-business Applications - Technical Report TR02-389, Rice University, 2001.
|
| |
10
|
Willy Chiu - Design for Scalability - IBM white paper, http://ibm.com/websphere/developer/zones/hvws, 2001.
|
| |
11
|
Distributed Systems Research Group, Charles University - EJB Comparison Project - http://nenya.ms.mff.cuni.cz, 2000.
|
| |
12
|
Bruno Dumant, Francois Horn, Frederic Dang Tran and Jean-Bernard Stefani - Jonathan: an Open Distributed Processing Environment in Java - Distributed Systems Engineering Journal, vol. 6, 3--12, 1999.
|
| |
13
|
eBay - http://www.ebay.com/.
|
| |
14
|
Jakarta Tomcat servlet container - http://jakarta.apache.org/tomcat/.
|
| |
15
|
JBoss EJB server - http://jboss.org.
|
| |
16
|
JOnAS: Java Open Application Server - http://www.objectweb.org/jonas.
|
| |
17
|
Log4j - http://jakarta.apache.org/log4j/docs/index.html.
|
| |
18
|
MySQL Reference Manual v3.23.36 - http://www.mysql.com/documentation/.
|
| |
19
|
OptimizeIt Profiler - http://www.borland.com/optimizeit/.
|
| |
20
|
Sun Microsystems - Dynamic Proxy Classes - http://java.sun.com/j2se/1.3/docs/guide/reflection/proxy.html, 2001.
|
| |
21
|
Sun Microsystems - ECperf specification - http://java.sun.com/j2ee/ecperf/, 2001.
|
| |
22
|
Sun Microsystems - EJB 2.0 specification - http://java.sun.com/products/ejb/docs.html, 2001.
|
| |
23
|
Sun Microsystems - Java 2 Platform Standard Edition 1.4, Performance and Scalability Guide - http://java.sun.com/j2se/1.4/performance.guide.html, 2002.
|
| |
24
|
Sysstat package - http://freshmeat.net/projects/sysstat/.
|
| |
25
|
Owen Taylor - J2EE Data Access Objects - The Middleware Company - http://www.middleware-company.com/documents/DAOPattern.pdf, 2002.
|
| |
26
|
Transaction Processing - http://www.tpc.org/.
|
| |
27
|
UrbanCode, Inc. - EJB Benchmark - http://www.urbancode.com/projects/ejbbenchmark, 2001.
|
CITED BY 34
|
|
|
|
|
Mircea Trofin, A self-optimizing application server design for enterprise Java beans applications, Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 26-30, 2003, Anaheim, CA, USA
|
|
|
Trevor Parsons, A framework for detecting, assessing and visualizing performance antipatterns in component based systems, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
|
|
|
|
|
|
Bill Pugh , Jaime Spacco, RUBiS revisited: why J2EE benchmarking is hard, Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 24-28, 2004, Vancouver, BC, CANADA
|
|
|
Florin Sultan , Aniruddha Bohra , Stephen Smaldone , Yufei Pan , Pascal Gallard , Iulian Neamtiu , Liviu Iftode, Recovering Internet Service Sessions from Operating System Failures, IEEE Internet Computing, v.9 n.2, p.17-27, March 2005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daniel Fiedler , Kristen Walcott , Thomas Richardson , Gregory M. Kapfhammer , Ahmed Amer , Panos K. Chrysanthis, Towards the measurement of tuple space performance, ACM SIGMETRICS Performance Evaluation Review, v.33 n.3, p.51-62, December 2005
|
|
|
|
|
|
|
|
|
Ágnes Bogárdi-Mészöly , Gábor Imre , Hassan Charaf, Investigating factors influencing the response time in J2EE web applications, Proceedings of the 4th WSEAS International Conference on Software Engineering, Parallel & Distributed Systems, p.1-5, February 13-15, 2005, Salzburg, Austria
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
George Candea , Shinichi Kawamoto , Yuichi Fujiki , Greg Friedman , Armando Fox, Microreboot — A technique for cheap recovery, Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation, p.3-3, December 06-08, 2004, San Francisco, CA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jordi Guitart , David Carrera , Vicenç Beltran , Jordi Torres , Eduard Ayguadé, Designing an overload control strategy for secure e-commerce applications, Computer Networks: The International Journal of Computer and Telecommunications Networking, v.51 n.15, p.4492-4510, October, 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Emmanuel Cecchet , Anupam Chanda , Sameh Elnikety , Julie Marguerite , Willy Zwaenepoel, Performance comparison of middleware architectures for generating dynamic web content, Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware, June 16-20, 2003, Rio de Janeiro, Brazil
|
|
|
|
|
|
|
|
|
|
|
|
|
|