1 Your Pension Plan: Tier 5 2 Fine-Tuning Date: September 22, 2006.
Performance Tuning for J2EE Applications Tier-By-tier by Oracle
-
Upload
api-27242535 -
Category
Documents
-
view
698 -
download
0
Transcript of Performance Tuning for J2EE Applications Tier-By-tier by Oracle
![Page 1: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/1.jpg)
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
![Page 2: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/2.jpg)
The following is intended to outline our general product direction. Itis intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver anymaterial, code, or functionality, and should not be relied upon in
making purchasing decision. The development, release, and timingof any features or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
![Page 3: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/3.jpg)
![Page 4: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/4.jpg)
Jonathan MaronConsultant MemberTech Staff
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
![Page 5: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/5.jpg)
PerformanceTuning for J2EEApplicationsTier by Tier
![Page 6: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/6.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 7: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/7.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 8: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/8.jpg)
Performance Issues Abound!
2003 Wily Benchmark Survey shows• 60% of time Java applications fail to meet user
expectations• Only 42% of applications perform as planned during
deployment• 57% of application performance spent in data access
2004 Forrester• 66% of time developers find out about performance
problems from user calls!
![Page 9: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/9.jpg)
J2EE Application Complexity Enterprise
Information Systems Client Side
Presentation
DesktopJava
Application
Device
J2EEClient
Browser
PureHTML
JavaApplet
J2EEPlatform
Web Server
Server-SidePresentation
JSP
Servlet
JSP
J2EEPlatform
EJB Container
Server-SideBusiness Logic
EJB
EJB
EJB
![Page 10: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/10.jpg)
“Premature optimization is theroot of all evil”- Professor Sir Charles Anthony
Richard Hoare
“There are two rules for when tooptimize:
1. Don't do it.2. (For experts only) Don't do it
yet.”
- Michael Jackson, Principles ofProgram Design
![Page 11: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/11.jpg)
“Test driven design can lead toemergent optimization and code thatis readily optimizable. If programmers
develop test first, many of theirupfront concerns about performance
can be deferred.”
- Michael Feathers, EmergentOptimization in Test Driven Design
![Page 12: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/12.jpg)
What is Performance Tuning?
• Anticipate Performance Requirements• Balance cost and benefits of optimal
performance• Optimize
• Response time• Throughput• Wait time
![Page 13: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/13.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 14: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/14.jpg)
Methodical approach toperformance evaluation
DevelopDevelop
IdentifyIdentify
DesignDesignTestTest
EvaluateEvaluate
![Page 15: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/15.jpg)
Know your application
• J2EE (which components?)• JDBC (which datasource class?)• SSL?• Single Sign On?• …
![Page 16: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/16.jpg)
Approach Tuning IssuesLogically and Iteratively
Java Virtual Machine
Application Server
Hardware and Operating System
Applications
Component
Database
Tuning and debugging are ongoing iterative processes. There are no magic bullets.
![Page 17: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/17.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 18: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/18.jpg)
J2EE Application Tuning Enterprise
Information Systems Client Side
Presentation
DesktopJava
Application
Device
J2EEClient
Browser
PureHTML
JavaApplet
J2EEPlatform
Web Server
Server-SidePresentation
JSP
Servlet
JSP
J2EEPlatform
EJB Container
Server-SideBusiness Logic
EJB
EJB
EJB
![Page 19: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/19.jpg)
Tuning JDBC Performance:Start with the Obvious
• Use connection pooling• Connection objects are expensive• Tailor min and max connections to your
application• Avoid cycling physical database connections
• Look for database connections timing out• Tune statement caching
• Cache distinct SQL statements
![Page 20: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/20.jpg)
Connection Pooling
RacingFacade
J2EE Container
• create• teamOrders• . . .
Application usesavailable connections
Con
nect
ion
Pool
ing
From
the
Con
tain
er
![Page 21: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/21.jpg)
Toplink Indirection – Just in TimeReading
• Use of proxy to defer reading until required• Very valuable performance feature• Several Implementation Options
• Explicit proxy• Dynamic proxy (java.lang.reflect.Proxy)• Development time class enhancement (source or byte codes)• Dynamic class enhancement
Customer AddressValueHolder
List PhoneNumber
![Page 22: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/22.jpg)
Tune Your SQL!
• Easier said than done• What is the real SQL running in CMP EJB?
• Look at the SQL on the wire• Tools like P6Spy, Oracle Enterprise Manager
• Minimize database calls• Toplink Indirection, join reading, and batch reading
reduces DB round-trips• Become good friends with your DBA
• Tune using traditional techniques• Explain plan• Tools like SQLPlus and Oracle9i JDeveloper
![Page 23: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/23.jpg)
D E M O N S T R A T I O N
JDBCPerformance
![Page 24: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/24.jpg)
J2EE Application Tuning Enterprise
Information Systems Client Side
Presentation
DesktopJava
Application
Device
J2EEClient
Browser
PureHTML
JavaApplet
J2EEPlatform
Web Server
Server-SidePresentation
JSP
Servlet
JSP
J2EEPlatform
EJB Container
Server-SideBusiness Logic
EJB
EJB
EJB
![Page 25: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/25.jpg)
EJB - Locking-Mode andIsolation
• Pessimistic locking is generally slower• May be required for applications where data
collisions are likely• Increasing isolation decreases performance
• Evaluate your data consistency requirements
![Page 26: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/26.jpg)
Transactions and Performance
• Entity beans load/store data at transactionboundaries
• Transactions settings affect how often databaseis accessed
• Poor performance can be caused by transactionsettings
• Rules of thumb• Always use transactions for entity bean methods• Scope the unit of work from a session bean
![Page 27: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/27.jpg)
Session Bean - Tx:NoneEntity Bean - Tx:Required
TopicSessionFacade
•createTopicSet•printTopicSet•deleteTopicSet
Topic
•create•findBy•getTopicId•getTopicDesc•getTopicName•setTopicId•setTopicDesc•setTopicName
tx:None tx:Required
System.out.println(“<Create Test>");for(int i=0;i<3;i++){ TopicLocal topic = topicHome.create( new Integer(i),("topic " + i)); topic.setDesc("desc" + i);}System.out.println(“</Create Test>");
![Page 28: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/28.jpg)
Resulting Transactional Activity<Create Test>TopicBean: ejbCreate id = 0TopicBean: ejbStore id = 0TopicBean: ejbLoad id = 0TopicBean: ejbStore id = 0TopicBean: ejbCreate id = 1TopicBean: ejbStore id = 1TopicBean: ejbLoad id = 1TopicBean: ejbStore id = 1TopicBean: ejbCreate id = 2TopicBean: ejbStore id = 2TopicBean: ejbLoad id = 2TopicBean: ejbStore id = 2</Create Test>
Tx create
Tx setDesc
Tx create
Tx setDesc
Tx create
Tx setDesc
Requires:12 lifecycle
calls
![Page 29: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/29.jpg)
Session Bean - Tx:RequiredEntity Bean - Tx:RequiredTopicSessionFacade
•createTopicSet•printTopicSet•deleteTopicSet
Topic
•create•findBy•getTopicId•getTopicDesc•getTopicName•setTopicId•setTopicDesc•setTopicName
tx:Required tx:Required
System.out.println(“<Create Test>");for(int i=0;i<3;i++){ TopicLocal topic = topicHome.create( new Integer(i),("topic " + i)); topic.setDesc("desc" + i);}System.out.println(“</Create Test>");
![Page 30: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/30.jpg)
Resulting Transactional Activity
<Create Test>TopicBean: ejbCreate id = 0TopicBean: ejbCreate id = 1TopicBean: ejbCreate id = 2</Create TestTopicBean: ejbStore id = 0TopicBean: ejbStore id = 1TopicBean: ejbStore id = 2
Tx : createTopicSame code:6 lifecycle
calls
![Page 31: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/31.jpg)
Take Advantage of Your EJBContainer Configuration
Specifies how long to keep stateless sessions cached in the pool.StatelessSession
pool-cache-timeout
Specifies whether the container updates only modified fields or all fieldswhen ejbStore is invoked. Default true.
CMPupdate-changed-fields-only
Set to false to avoid the extra select before insert (checks if entity alreadyexists before doing the insert). Detects a duplicate during insert.
CMPdo-select-before-insert
max-tx-retries
Specifies the maximum time to wait for any resource that the EJB containerneeds before the container calls the EJB method (excluding DB).
Session &Entity
call-timeout
Performance Characteristic ImpactedTypeExampleParameter
Session &Entity
Specifies the number of times to retry a transaction that was rolled back dueto system level failures.
![Page 32: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/32.jpg)
D E M O N S T R A T I O N
EJB Tuning
![Page 33: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/33.jpg)
J2EE Application Tuning Enterprise
Information Systems Client Side
Presentation
DesktopJava
Application
Device
J2EEClient
Browser
PureHTML
JavaApplet
J2EEPlatform
Web Server
Server-SidePresentation
JSP
Servlet
JSP
J2EEPlatform
EJB Container
Server-SideBusiness Logic
EJB
EJB
EJB
![Page 34: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/34.jpg)
Tuning Servlet Performance:Load on Startup
• Increases application start-up time butdecreases first-request latency for servlets
• How?• Add <load-on-startup> sub-element inhttp-website.xml to load the entire webmodule on startup
• Add <load-on-startup> sub-element to the<servlet> element in web.xml to load theservlet on startup
![Page 35: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/35.jpg)
Tuning JSP Performance:Pre-Translation
• Pre-compile JSPs into .class files ahead oftime
• In Oracle Application Server, ojspc providesthis functionality
• jsp, and .java• Batch compilation of war, jar, ear and zip files
% ojspc -dir /myapp/mybindir -srcdir/myapp/mysrcdir MyPage.sqljsp MyPage2.jsp
% ojspc -deleteSource myapp.war
![Page 36: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/36.jpg)
Use HTTPSessionAppropriately• Minimize the objects you store in HTTPSession
• Takes up memory• Expensive serialization/deserialization if you use
persistence/replication• Use transient variables to reduce serialization
overhead
• Reduce default session timeout by usingHttpSession.setMaxInactiveInterval()
• Remove session objects when no longer in use
• Use <% @ page session="false"% > in JSP pageswhere you do not need a session
![Page 37: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/37.jpg)
D E M O N S T R A T I O N
Web Tier
![Page 38: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/38.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 39: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/39.jpg)
J2EE Application Tuning Enterprise
Information Systems Client Side
Presentation
DesktopJava
Application
Device
J2EEClient
Browser
PureHTML
JavaApplet
J2EEPlatform
Web Server
Server-SidePresentation
JSP
Servlet
JSP
J2EEPlatform
EJB Container
Server-SideBusiness Logic
EJB
EJB
EJB
![Page 40: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/40.jpg)
Look for Bottlenecks withLoad Testing Tools
• Mercury Loadrunner• Open source
• Apache JMeter• Grinder
• Altaworks Panorama• …
![Page 41: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/41.jpg)
Threads – more aren’tnecessarily better!
• The optimum number of threads required willprobably vary based on application makeupand load
• Reduction of thread contention is key• Iterative process
• Don’t get discouraged!
![Page 42: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/42.jpg)
More threads – morecontention!
Transactions Per Second
0
50
100
150
200
250
300
2 4 8 16 32 64
Max Executor Pool Threads
Thread Group Lock Contention
0.00%
5.00%
10.00%
15.00%
20.00%
25.00%
30.00%
35.00%
40.00%
45.00%
50.00%
2 4 8 16 32 64
Max Executor Pool Threads
Thread Group CPU
0.00%
2.00%
4.00%
6.00%
8.00%
10.00%
12.00%
14.00%
16.00%
18.00%
2 4 8 16 32 64
Max Executor Pool Threads
Thread Group Waiting
0.00%
5.00%
10.00%
15.00%
20.00%
25.00%
30.00%
35.00%
40.00%
45.00%
50.00%
2 4 8 16 32 64
Max Executor Pool Threads
![Page 43: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/43.jpg)
Objects – be economical!• Object creation is expensive
• Especially exceptions• Assess whether unnecessary object creation
is occurring
![Page 44: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/44.jpg)
JVM Tuning
• A number of hotspot VM options are availablefor tuning
• -Xms, -Xmx, -Xmn, -XX:SuvivorRatio,…• Some platform vendors provide additional
options• HP: -XX:+ForceMmapReserved
• Some platforms are not properly tuned out ofthe box for Java processing
![Page 45: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/45.jpg)
Garbage Collection
• Change the JVM Heap size• java –jar –Xms256m –Xmx256m oc4j.jar
• Monitor collection cycles• verbose:gc• Profiling of heap
• JDK 1.5 Jconsole• Intel Vtune• HPJtune• . . .
![Page 46: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/46.jpg)
D E M O N S T R A T I O N
JVM Tuning
![Page 47: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/47.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 48: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/48.jpg)
Sizing
• Sizing or Capacity Planning relates to either• How many system resources are needed to
accommodate users• How many users can be accommodated given a
particular system• Sizing in relation to Performance, Scalability,
and Stress
![Page 49: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/49.jpg)
Sizing and Scalability
•Scalability•The ability of a system toexpand, accommodatingincreased load with littleor no effect onperformance
![Page 50: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/50.jpg)
Sizing Goals
• What are generally the goals leading to asizing exercise?
• Expected system throughput• Operations per time interval (e.g., Hits/sec,
Transactions/sec, Messages/sec)• Total of concurrent users• Maximum response time• Application size
![Page 51: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/51.jpg)
Sizing Methodology
• Decide on a test hardware configuration thatcan be scaled
• Simulate sequence(s) of typical user actions• Application specific• Time-of-day specific
• Apply varying load to the system• Use an appropriate load generation software
(e.g, Mercury LoadRunner, JMeter, etc.)
![Page 52: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/52.jpg)
Sizing Methodology
• Scale hardware if needed to accommodateload
• Stop when your defined criteria threshold ismet
• Number of operations per time interval• Number of concurrent users• Maximum response time
• Iterate to optimize performance by tuning andadjusting the configuration parameters
![Page 53: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/53.jpg)
Agenda
• Background• Approach• J2EE Tier by Tier• Tuning• Scaling• Monitoring
![Page 54: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/54.jpg)
Performance Monitoring
• Optimization doesn’t end withdeployment
• Monitoring tools key to continuedapplication responsiveness
• Oracle Enterprise Manager• HP OpenView
![Page 55: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/55.jpg)
Oracle Enterprise Manager
![Page 56: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/56.jpg)
Features: Grid Control
• Application Server Discovery• Application Server Home Page• Out-of-box Monitoring• Historical Collections & Analysis• Consolidated Group Management• J2EE Application Diagnostics• Application Service Level Management• Configuration Management
![Page 57: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/57.jpg)
Application Server Home Page
![Page 58: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/58.jpg)
Final Thoughts
• Do not optimize prematurely• E.g. an object pool is not always faster
• Performance tuning is an iterative process• Do not add threads haphazardly• Exceptions are expensive
![Page 59: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/59.jpg)
Next Steps• Recommended Parallel Sessions
• Simplify System Monitoring, Using Oracle Enterprise Manager 10g,Monday @ 1:30 pm in Room 302 South
• Leveraging Advanced Features of Oracle Database in J2EE, Thursday@ 10:30 am in Room 308 South
• Related Demos/Exhibits• Enterprise Manager, Toplink, and Oracle Container for J2EE (OC4J) pods
located in Exhibit Hall• Related Web Sites For More Information
• http://www.oracle.com/technology/products/oem/as_mgmt/index.html• http://download-
west.oracle.com/docs/cd/B14099_11/core.1012/b14001/toc.htm• http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html
![Page 60: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/60.jpg)
Shameless Self Promotion
•From amazon.comreviews:
•“Required EnterpriseTransactions Reading”•“All J2EE developersshould read this book”
![Page 61: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/61.jpg)
AQ&Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S
![Page 62: Performance Tuning for J2EE Applications Tier-By-tier by Oracle](https://reader033.fdocuments.net/reader033/viewer/2022060112/5571f21949795947648c25e7/html5/thumbnails/62.jpg)