J2EE Application Server Deployment and Performance

grrrgrapeInternet and Web Development

Oct 31, 2013 (3 years and 11 months ago)

65 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


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 (J
NDI),


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

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

TestCell

TestNode

Dmgr

Nodeagent

Server1

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.