170 likes | 333 Views
J2EE Application Server Deployment and Performance Optimization for Enterprise Application Service. Thesis presentation 19.05.2009 Author: Xiaoyang Wang Supervisor: Professor Jukka Manner Instructor: Pasi Salonen. Content. Background Research aspects Research methods
E N D
J2EE Application Server Deployment and Performance Optimization for Enterprise Application Service Thesis presentation 19.05.2009 Author: Xiaoyang Wang Supervisor: Professor Jukka Manner Instructor: Pasi Salonen
Content • Background • Research aspects • Research methods • Role of application server in three-tier infrastructure • J2EE application server • Implementation (Setup) • Test cases and optimization • Results • Conclusion • Future research
Background • Conducted by International Business Machines Corp. (IBM) in Helsinki • Topic • J2EE application server • Deployment setup • Performance optimization • Application Server • J2EE application server solution • Microsoft solution • Open source solution • IBM WebSphere Application Server (WAS) is the representative product researched in this thesis.
Research aspects • What is the role of application server in the infrastructure for enterprise application? • How should the application server be deployed and managed? • What affects the performance of the application server? • How should the performance be optimized?
Research methods • Literature study • Web-based three-tier architecture • Application Server->J2EE application Server->WAS • Implementation: • Network structure design • Environment setup • Test cases • Executed test cases: • Single application server • Web container pool size • JVM heap size • JDBC connection pool size • Integrated environment • Comparison between “single” and “integrated” environment
Role of application server in three-tier infrastructure • Web-based three-tier architecture • Separates applications from the underlying-based mechanism (operating system and database) • Reusability of business logic and components • High Performance (Transaction service, Messaging service, High availability, etc.) • Reliability (Failover, Hot Deployment)
J2EE application server • Java standardization • J2EE services & technologies: • JSP and Servlet containers, • EJB containers, • Java Database Connectivity (JDBC), • Java Naming and Directory Interface (JNDI), • Java Transaction Service / Java Transaction API (JTS / JTA), • Java Messaging Service (JMS) • Compatibility (cross-platform) • Portability (write once, run anywhere)
Implementation (Setup) 1/3 • Front-end servers • Caching proxy - IBM Edge components • Web server with Plugin- IBM Http Server (IHS) • Middle server • J2EE application server - WebSphere Application Server (WAS) • Back-end • LDAP • Database – Cloudscape and IBM DB2
TestCell TestNode Dmgr Nodeagent Server1 Implementation (Setup) 2/3 • Cell • An administrative domain contains a grouping of nodes • Dmgr • AppServer instance for management the cell • Administrative onsole • TestNode • Nodeagent • bridge between the Dmgr and AppServer instance in the same node • Server1 • AppServer instance where application deployed
Implementation (Setup) 3/3 • Application ”PlantsByWebSphere”– Sample application built-in WAS • 35 requests • 28 ShoppingServlet requests • 3 HTML requests • 3 AccountServlet requests • 1 login JSP request
Test cases and optimization • Scenario 1 – Single application server • Web container pool size • JVM • Heap size • Garbage collection • JDBC connection pool size • Scenario 2 – Integrated environment with other servers • Comparison the different performance between two scenarios. • Successful test requirement • Error rate <= 0.11%
Results – Web container pool size • JVM heap size • Min = 64 MB • Max = 1024 MB • Largest threads =276
Results – JVM heap size • JVM heap size • Min = 64 MB • Max = 1024 MB • Heap size = 177MB
Results – JDBC connection pool size • Default • After optimized
Results – Scenario1 vs. Scenario2 • Caching proxy (default) • MaxActiveThreads = 100 • MaxPersistRequest = 5 • HIS (default) • MaxClients = 600
Conclusion • The statistics from the test cases meet the purpose of the thesis • Approaches could be referred. However, the optimal value of the parameters are only for the specified case we have in the thesis.
Future research • Optimization for messaging services. • The performance tuning between remote database and application server. • The network topology could be optimized as well. • Improvement on load balance, reliability, security and so on.