Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Collaborate Succeed
Network
•JVM
•JMS
• HA
•EJBs
•HttpSession
•Dynamic Caching
•64 bit WAS
•Threading
•Hardware
WebSphere Software
2
© 2007 IBM Corporation
JVM Tuning
JVM Sizing
• Minimum heapsize
Production systems set –Xms lower than –Xmx
• Gives headroom for emergencies
• In theory, results in more efficient object table
“Burst” testing requires –Xms=-Xmx
WebSphere Software
3
© 2007 IBM Corporation
JVM Tuning
Controlling Memory Fragmentation with the IBM JVM
WebSphere Software
5
© 2007 IBM Corporation
JVM Tuning
J9 JVM
• Improved JIT
Longer warm-up for optimized code
No longer disabled for remote debugging
• Faster WAS startup times with remote debugger attached
WebSphere Software
6
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• HA
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
7
© 2007 IBM Corporation
JMS Tuning
Overview
WebSphere Software
8
© 2007 IBM Corporation
JMS Tuning
Non-Persistent Messaging
V5.1 V6.0
20000 17214
14015
15000
ops/sec
10000
5196
5000 1879
0
MDB_PT P_NP_T NS MDB_PS_NP_ND_T NS
CP U% W AS 85 75 35 65
WebSphere Software
9
© 2007 IBM Corporation
JMS Tuning
Reliability Performance
20000 17214
18000
msgs/second
16000
14000 10512
12000 9676
10000
8000
6000 2830 4050 4093
4000 1869 1004 2183
2000
0
Best- Express Reliable Reliable Assured Reliable Assured Reliable Assured
effort NP NP TNS NP TNS P TR P TR P TR P TR P TR P TR
TNS (CS) (CS) (CS) (CS) (CS) (local (local (remote (remote
DB2) DB2) DB2) DB2)
CP U% W AS 75 74 71 92 62 99 97 97 88
CP U% DB 18 35
System configuration
Producer: xSeries 445 Server, 4 x 3.0 GHz Xeon, 2 GB ram, W indows 2003 Server
Consumer: xSeries 365 Server, 4 x 2.8 GHz Xeon, hyper threaded, 3.5 GB ram, W indows 2003 Server
Database: xSeries 365 Server, 4 x 2.8 GHz Xeon, hyper threaded, 3.5 GB ram, W indows 2003 Server
Ent Edition, DB2 v8.2
Reliability is the determining factor in throughput; the more reliable, the lower the throughput
Persisting to a local DB2 database is better than to a Cloudscape database, and better to a remote
DB2 database than to a local database
WebSphere Software
10
© 2007 IBM Corporation
JMS Performance Tuning
Reliability levels
High
•BEST_EFFORT_NONPERSISTENT
Messages are never written to disk
throw away messages if memory cache over-runs
•EXPRESS_NONPERSISTENT
Messages are written asynchronously to persistent storage if
memory cache overruns, but are not kept over server restarts
Reliability
Performance
Same as Express_Nonpersistent, except, we have a low level
acknowledgement message that the client code waits for,
before returning to the application with an OK or not OK
response
•RELIABLE_PERSISTENT
Messages are written asynchronously to persistent storage
during normal processing, and stay persisted over server
restarts.
If the server fails, messages might be lost if they are only held in
the cache at the time of failure.
•ASSURED_PERSISTENT
Highest degree of reliability where assured delivery is supported
High
WebSphere Software
11
© 2007 IBM Corporation
JMS Performance Tuning
Data buffers
Message itself
JDBC
WebSphere Software
12
© 2007 IBM Corporation
JMS Performance Tuning
Sizing the data buffers
•Discarded messages from the Cache data buffer will not throw an exception
But messages might need to be retrieved from the database, hurting
performance
Actively monitor PMI data
•PMI: Performance Modules > SIB Service > SIB Messaging Engines >
Messaging Engine > Storage Management > Cache
CacheStoredDiscardCount (for Cache data buffer)
CacheNotStoredDiscardCount (for Discardable data buffer)
WebSphere Software
13
© 2007 IBM Corporation
JMS Performance Tuning
Using DB2
BLOB
Message size
32032 bytes
WebSphere Software
14
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• HA
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
15
© 2007 IBM Corporation
High Availability (HA)
WebSphere Software
16
© 2007 IBM Corporation
High Availability (HA)
Performance Considerations
• Recommendations
Keep the core group size to 50 or less
High performance sites might require smaller core groups
Throughput
• Customers migrating
VARCHAR from v5.x with very large instance deployments
Make aware of this issue
Consider disabling HA if the customer does not require it
Re-allocate large environments to smaller core groups, if required
BLOB
Message size
32032 bytes
WebSphere Software
17
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
18
© 2007 IBM Corporation
EJBs
Tuning the EJB Cache
WebSphere Software
19
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
20
© 2007 IBM Corporation
HttpSession
Memory-to-Memory replication
•Simplified configuration
•Terminology changes
No more replicas and partitions, instead we have client
and servers in a replication domain
•Topology changes
Replication domain is no longer collection of replicas
WebSphere Software
21
© 2007 IBM Corporation
HttpSession
Peer-to-Peer Memory replication
WebSphere Software
22
© 2007 IBM Corporation
HttpSession
Client Server Memory replication
WebSphere Software
23
© 2007 IBM Corporation
Agenda
•JVM
•JMS
•EJBs
•HttpSession
•Dynamic Caching
•64 bit WAS
•Threading
•Hardware
WebSphere Software
24
© 2007 IBM Corporation
Dynamic Caching
Overview
WebSphere Software
25
© 2007 IBM Corporation
Dynamic Caching
V6.0x Functionality
WebSphere Software
26
© 2007 IBM Corporation
Dynamic Caching
V6.0x Features
• JVM
• JMS
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
28
© 2007 IBM Corporation
64bit WAS
Overview
•Allows WAS JVM to grow well beyond 32bit process size boundaries
•Many apps will not see a benefit, may increase overall footprint
WebSphere Software
29
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
30
© 2007 IBM Corporation
Threading
Channel Framework Tuning
•Channel Framework
Non-blocking I/O in WAS V6
Accepts very large numbers of concurrent in-bound requests
Unlikely to see “connection refused” errors at high loading
Stabilizes the Web Container even under bursty conditions
WebSphere Software
31
© 2007 IBM Corporation
Agenda
• JVM
• JMS
• EJBs
• HttpSession
• Dynamic Caching
• 64 bit WAS
• Threading
• Hardware
WebSphere Software
32
© 2007 IBM Corporation
Hardware
pSeries
•Use AIX 5.3 SMT to get the most from POWER5 equipment
Gains of 40% in lab testing over AIX 5.2 or AIX 5.3 w/out SMT
1250 1083
1008 1012
1000
reqs/second
System configuration
Driver: WebSphere Studio Workload Simulator on IBM Intellistation E Pro, 1000 MHz Pentium III
p630 SUT: IBM pSeries 630, 4 x 1453 MHz POWER4+
p570 SUT: IBM pSeries 570, 4 x 1656 MHz POWER5
Database: IBM pSeries 630, 4x 1453 MHz POWER4+, AIX 5.3, DB2 V8.2, DB2 Type 2 Universal JDBC Driver
(JCC)
WebSphere Software
33
© 2007 IBM Corporation
Hardware
pSeries Large Page
WebSphere Software
34
© 2007 IBM Corporation
Hardware
Intel Platforms
•Plan ahead
L3 cache is an ordered configuration option
Difficult/impossible to add-on or upgrade
Relatively inexpensive option
•Significant performance gains
WebSphere Software
35
© 2007 IBM Corporation
Summary
WebSphere Software
36
© 2007 IBM Corporation
References
•Stan J. Cox, et al: WAS 64bit Performance
http://www-306.ibm.com/software/webservers/appserv/doc/WAS_x86-
64-performance.pdf
•Many thanks to Hendrik van Run, Cameron Martin, Bill Hines, Jessica
Man, Dipak Patel, and others for their contributions to this presentation.
WebSphere Software
37
© 2007 IBM Corporation
Further Reading
Performance Analysis for Java Web Sites
Joines, Willenborg, Hygh
WebSphere Software
38
© 2007 IBM Corporation
Questions?
•Thank you
WebSphere Software
39
© 2007 IBM Corporation