Professional Documents
Culture Documents
Contents
LOAD & PERFORMANCE TESTING .................................................... ERROR! BOOKMARK NOT DEFINED.
1 STRESS, LOAD, SOAK, SPIKE TESTS LOAD PROFILES ........................................ ERROR! BOOKMARK NOT DEFINED.
2 LNP TESTING LIFE CYCLE.......................................................................... ERROR! BOOKMARK NOT DEFINED.
3 EXAMPLES OF LNP TESTING OBJECTIVES ...................................................... ERROR! BOOKMARK NOT DEFINED.
3.1 RESPONSE TIME......................................................................................... ERROR! BOOKMARK NOT DEFINED.
3.2 RELIABILITY............................................................................................... ERROR! BOOKMARK NOT DEFINED.
3.3 CONFIGURATION SIZING .............................................................................. ERROR! BOOKMARK NOT DEFINED.
3.4 CAPACITY PLANNING .................................................................................. ERROR! BOOKMARK NOT DEFINED.
3.5 REGRESSION ............................................................................................. ERROR! BOOKMARK NOT DEFINED.
3.6 BOTTLENECK IDENTIFICATION ...................................................................... ERROR! BOOKMARK NOT DEFINED.
3.7 SCALABILITY .............................................................................................. ERROR! BOOKMARK NOT DEFINED.
BPEL PM: INTRODUCTION ................................................................................................................ 15
1 BPEL PM PROCESS TYPES ................................................................................................................ 15
1.1 BY INTERFACE ........................................................................................................................................ 15
1.2 BY DURABILITY ....................................................................................................................................... 15
2 TERMINOLOGY ............................................................................................................................... 16
3 DIFFERENCE BETWEEN ASYNC & SYNC BPEL ....................................................................................... 16
4 SOA 11G CONFIGURATION FILES AND LOG FILES LOCATION ...................................................................... 17
5 DEFAULT DATA SOURCES .................................................................................................................. 17
6 PERFORMANCE OBJECTIVE ................................................................................................................ 18
7 WHAT TO TUNE ............................................................................................................................. 18
8 SYSTEM SETUP ............................................................................................................................... 20
9 IMPORTANT POINTS ........................................................................................................................ 20
10 REFERENCE.................................................................................................................................. 21
JVM TUNING ................................................................................... ERROR! BOOKMARK NOT DEFINED.
1 PAUSE TIMES AND THROUGHPUT .............................................................. ERROR! BOOKMARK NOT DEFINED.
1.1 GARBAGE COLLECTION VS. THROUGHPUT ...................................................... ERROR! BOOKMARK NOT DEFINED.
1.2 DEFRAGMENTATION PAUSES AND THROUGHPUT ............................................ ERROR! BOOKMARK NOT DEFINED.
2 PERFORMANCE AND MEMORY FOOTPRINT .................................................. ERROR! BOOKMARK NOT DEFINED.
3 JVM CHOICE ........................................................................................ ERROR! BOOKMARK NOT DEFINED.
4 JROCKITS TUNING ................................................................................. ERROR! BOOKMARK NOT DEFINED.
4.1 BOARDING INTO SHIP STEP 1 .................................................................... ERROR! BOOKMARK NOT DEFINED.
4.1.1 Heap Size ............................................................................................ Error! Bookmark not defined.
4.1.2 Garbage Collection............................................................................. Error! Bookmark not defined.
4.1.3 Nursery Size ...................................................................................... Error! Bookmark not defined.
APPENDIX F: ORA-01438: VALUE LARGER THAN SPECIFIED PRECISION ALLOWED .... ERROR! BOOKMARK
NOT DEFINED.
5
6
7
8
APPENDIX G: LOBS IN THE SOAINFRA SCHEMA ................................ ERROR! BOOKMARK NOT DEFINED.
APPENDIX H: AWR, ADDM, & ASH REPORTS .................................... ERROR! BOOKMARK NOT DEFINED.
1 AWR REPORT ...................................................................................... ERROR! BOOKMARK NOT DEFINED.
2 ADDM REPORT .................................................................................... ERROR! BOOKMARK NOT DEFINED.
3 ASH REPORT ........................................................................................ ERROR! BOOKMARK NOT DEFINED.
4 AWR REPORT ANALYSIS ......................................................................... ERROR! BOOKMARK NOT DEFINED.
4.1 SQL STATEMENTS ORDERED BY ELAPSED TIME ............................................... ERROR! BOOKMARK NOT DEFINED.
4.2 SQL STATEMENTS ORDERED BY CPU TIME..................................................... ERROR! BOOKMARK NOT DEFINED.
4.3 SQL STATEMENTS ORDERED BY GETS ............................................................ ERROR! BOOKMARK NOT DEFINED.
4.4 SQL STATEMENTS ORDERED BY READS .......................................................... ERROR! BOOKMARK NOT DEFINED.
4.5 SQL STATEMENTS ORDERED BY EXECUTIONS .................................................. ERROR! BOOKMARK NOT DEFINED.
4.6 SQL STATEMENTS ORDERED BY PARSE CALLS ................................................. ERROR! BOOKMARK NOT DEFINED.
5 REFERENCE .......................................................................................... ERROR! BOOKMARK NOT DEFINED.
APPENDIX I: MONITORING SCRIPTS ................................................. ERROR! BOOKMARK NOT DEFINED.
1 DATABASE MONITORING ......................................................................... ERROR! BOOKMARK NOT DEFINED.
2 JMS MONITORING ................................................................................ ERROR! BOOKMARK NOT DEFINED.
3 AQ MONITORING .................................................................................. ERROR! BOOKMARK NOT DEFINED.
APPENDIX J: HOW TO MONITOR SOA SERVER MEMORY USAGE ....... ERROR! BOOKMARK NOT DEFINED.
1
2
3
4
APPENDIX K: HEAP DUMP FILES ANALYSIS: JROCKIT AND HOTSPOT JVMS ....... ERROR! BOOKMARK NOT
DEFINED.
1 EXAMPLE ANALYSIS OF A HEAP DUMP FILE USING ECLIPSE MEMORY ANALYZER ... ERROR! BOOKMARK NOT DEFINED.
2 REFERENCE .......................................................................................... ERROR! BOOKMARK NOT DEFINED.
APPENDIX L: CAPACITY PLANNING................................................... ERROR! BOOKMARK NOT DEFINED.
Exhibits
Exhibit 1: Stress, Load, Soak, Spike Tests Load Profiles ................... Error! Bookmark not defined.
Exhibit 2: LnP Testing Life Cycle and SDLC ....................................... Error! Bookmark not defined.
Exhibit 3: BPEL Processes .............................................................................................................. 15
Exhibit 4: JVM Tuning Tradeoffs ...................................................... Error! Bookmark not defined.
Exhibit 5: JVM's Garbage Collection and Throughput ..................... Error! Bookmark not defined.
Exhibit 6: jRockit Attributes ............................................................. Error! Bookmark not defined.
Exhibit 7: HostSpot Attributes ......................................................... Error! Bookmark not defined.
Exhibit 8: WLS internal applications at startup - 1 ......................... Error! Bookmark not defined.
Exhibit 9: WLS internal applications at startup - 2 ......................... Error! Bookmark not defined.
Exhibit 10: WLS internal applications at startup - 3 ....................... Error! Bookmark not defined.
Exhibit 11: WLS internal applications at startup - 4 ........................ Error! Bookmark not defined.
Exhibit 12: WLS internal applications at startup - 5 ........................ Error! Bookmark not defined.
Exhibit 13: WLS internal applications at startup - 6 ........................ Error! Bookmark not defined.
Exhibit 14: SOAWorkManager - 1 .................................................... Error! Bookmark not defined.
Exhibit 15: SOAWorkManager - 2 .................................................... Error! Bookmark not defined.
Exhibit 16: SOAWorkManager - 3 .................................................... Error! Bookmark not defined.
Exhibit 17: WLS Muxers ................................................................... Error! Bookmark not defined.
Exhibit 18: FMC Login....................................................................... Error! Bookmark not defined.
Exhibit 19: FMC Farm Summary....................................................... Error! Bookmark not defined.
Exhibit 20: FMC Performance Summary - 1 ..................................... Error! Bookmark not defined.
Exhibit 21: FMC Performance Summary - 2 ..................................... Error! Bookmark not defined.
Exhibit 22: FMC Performance Summary - 3 ..................................... Error! Bookmark not defined.
Exhibit 23: Dynamic Memory Service .............................................. Error! Bookmark not defined.
Exhibit 24: BPEL Engine Threading Model ....................................... Error! Bookmark not defined.
Exhibit 25: Dispatcher Maximum Request Depth - 1....................... Error! Bookmark not defined.
Exhibit 26: Dispatcher Maximum Request Depth - 2....................... Error! Bookmark not defined.
Exhibit 27: InvokeMessages In Cache .............................................. Error! Bookmark not defined.
Exhibit 28: syncMaxWaitTime - 1 .................................................... Error! Bookmark not defined.
Exhibit 29: syncMaxWaitTime - 2 .................................................... Error! Bookmark not defined.
Exhibit 30: syncMaxWaitTime - 3 .................................................... Error! Bookmark not defined.
Exhibit 31: syncMaxWaitTime 4 .................................................... Error! Bookmark not defined.
Exhibit 32: BPEL EJBs - 1 ................................................................... Error! Bookmark not defined.
10
12
Snippets
Snippet 1: Sample Work Manager - 1 .............................................. Error! Bookmark not defined.
Snippet 2: Sample Work Manager - 2 .............................................. Error! Bookmark not defined.
Snippet 3: Sample config.xml........................................................... Error! Bookmark not defined.
Snippet 4: Sample startWeblogic.sh ................................................ Error! Bookmark not defined.
Snippet 5: Using setNull In a Prepared Statement .......................... Error! Bookmark not defined.
Snippet 6: Sample thread waiting for DB Call to finish.................... Error! Bookmark not defined.
Snippet 7: composite.xml ................................................................ Error! Bookmark not defined.
Snippet 8: Drop Histrogram ............................................................. Error! Bookmark not defined.
Snippet 9: Set Table Preferences ..................................................... Error! Bookmark not defined.
Snippet 10: Single Threaded Model - jca file ................................... Error! Bookmark not defined.
Snippet 11: Partitioned Threaded Model - jca file........................... Error! Bookmark not defined.
Snippet 12: Tuning number of files to be processed at a time ....... Error! Bookmark not defined.
Snippet 13: JMS Adapter - Receive Thread - composite.xml ........... Error! Bookmark not defined.
Snippet 14: AQ Adapter - Dequeue Threads - composite.xml......... Error! Bookmark not defined.
Snippet 15: common properties schema - 1.................................... Error! Bookmark not defined.
Snippet 16: common properties schema - 2.................................... Error! Bookmark not defined.
Snippet 17: bpel.xml ........................................................................ Error! Bookmark not defined.
Snippet 18: composite.xml .............................................................. Error! Bookmark not defined.
Snippet 19: SecureFiles .................................................................... Error! Bookmark not defined.
Snippet 20: BasicFiles to SecureFiles ............................................... Error! Bookmark not defined.
13
Tables
Table 1: AuditLevel........................................................................... Error! Bookmark not defined.
Table 2: BPEL Engine - AuditLevel .................................................... Error! Bookmark not defined.
Table 3: AuditStorePolicy ................................................................. Error! Bookmark not defined.
Table 4: SOA Schemas ...................................................................... Error! Bookmark not defined.
Table 5: SOAINFRA Tables ................................................................ Error! Bookmark not defined.
Table 6: MDS Schema tables............................................................ Error! Bookmark not defined.
Table 7: CUBE_INSTANCE................................................................. Error! Bookmark not defined.
Table 8: CUBE_SCOPE ...................................................................... Error! Bookmark not defined.
Table 9: COMPOSITE_INSTANCE ...................................................... Error! Bookmark not defined.
Table 10: COMPOSITE_INSTANCE_FAULT ....................................... Error! Bookmark not defined.
Table 11: AUDIT_TRAIL .................................................................... Error! Bookmark not defined.
Table 12: AUDIT_DETAILS ................................................................ Error! Bookmark not defined.
Table 13: DLV_MESSAGE ................................................................. Error! Bookmark not defined.
Table 14: DLV_SUBSCRIPTION ......................................................... Error! Bookmark not defined.
Table 15: DOCUMENT_CI_REF ......................................................... Error! Bookmark not defined.
Table 16: DOCUMENT_DLV_MSG_REF ............................................ Error! Bookmark not defined.
Table 17: WORK_ITEM ..................................................................... Error! Bookmark not defined.
Table 18: XML_DOCUMENT ............................................................. Error! Bookmark not defined.
Table 19: XML_DOCUMENT_REF ..................................................... Error! Bookmark not defined.
Table 20: HEADERS_PROPERTIES ..................................................... Error! Bookmark not defined.
Table 21: CLUSTER_MASTER ............................................................ Error! Bookmark not defined.
Table 22: CLUSTER_NODE ................................................................ Error! Bookmark not defined.
Table 23: Partial Partitioning ........................................................... Error! Bookmark not defined.
Table 24: Complete Partitioning ...................................................... Error! Bookmark not defined.
Table 25: MDS_NAMESAPCES.......................................................... Error! Bookmark not defined.
Table 26: MDS_PARTITIONS ............................................................ Error! Bookmark not defined.
Table 27: MDS_PATHS ..................................................................... Error! Bookmark not defined.
Table 28: File & FTP Adapter - Inbound Throttling .......................... Error! Bookmark not defined.
Table 29: : File & FTP Adapter - Outbound Throttling ..................... Error! Bookmark not defined.
Table 30: : File & FTP Adapter - Outbound Best Practices............... Error! Bookmark not defined.
Table 31: completionPersistPolicy property .................................... Error! Bookmark not defined.
Table 32: validateSchema value ...................................................... Error! Bookmark not defined.
Table 33: Idempotency value........................................................... Error! Bookmark not defined.
Table 34: nonBlockingInvoke value ................................................ Error! Bookmark not defined.
Table 35: Database initialization parameters .................................. Error! Bookmark not defined.
Table 36: Contention tables ............................................................. Error! Bookmark not defined.
Table 37: Tables under potential of index contention .................... Error! Bookmark not defined.
14
1.1 By Interface
1.2 By Durability
2 Terminology
While reading through the BPEL PM documentation, one will encounter few terms.
In SYNC process Reply activity is there while ASYNC has Invoke activity.
SOALocalTxDataSource - the transaction aware data source used by the SOA Suite
engine.
These data sources are vital for the Oracle SOA Suite. Each will have a JNDI Name showing the
jndi location, eg: jdbc/SOADataSource; and each will list one or many targets, Weblogic
managed server defines a valid target.
6 Performance Objective
To tune a BPEL engine for a given load, first one has to understand performance objectives. To
determine performance objectives, one needs to understand the BPEL Engine and processes
deployed and the environmental constraints placed on the overall setup. Collect information
about the levels of activity that components of the BPEL Engine perform and expected to meet,
such as:
7 What to Tune
The tuning for BPEL PM in 11g environment is multistep and multi-layer approach. Tuning and
LnP testing is series of steps and certainly not in serial fashion.
1. Determine tuning objectives
2. Understand and document underlying:
a. Weblogic App Server (WLS)
b. Database (SOA database)
c. JVM
d. Operating system, network infrastructure and hardware
e. Deployment topologies of JVM, WLS, BPEL Engine, databases, JMS, load
balancers, etc.
f. Monitoring scripts, toolsets, queries, analysis tools, etc.
g. Capacity, capabilities, performance and resilience of boundary system interfaces
3. Collect records w.r.t.
a. Historical load pattern in production
b. Estimated load projections for the life cycle of system under LnP test
c. Previously conducted LnP tests
d. Known issues with underlying infrastructure
18
4.
5.
6.
7.
8.
k. Details of any issue arisen in network or database or any other system during
LnP run
l. Data from boundary systems
9. Data Analysis
a. Statistical analysis of data collected
b. Draw the result and recommend a new test with modifications in parameters
and/or load conditions
c. Correlate results with previous load & performance tests.
8 System Setup
In this book, following set is assumed until specified otherwise:
1.
2.
3.
4.
5.
It is also assumed that network, disk speed, CPU type and other hardware related factors will
not be hitting ceiling in any load conditions under consideration.
9 Important Points
While tuning a system just remember some important factors:
Performance tuning is not a silver bullet. Good system performance depends on: good
design, good implementation, defined performance objectives, and performance tuning.
Performance tuning is ongoing process. Implement mechanisms that provide
performance metrics which one can compare against performance objectives, allowing
scheduling a tuning phase before system fails.
The object is to meet performance objectives, not eliminate all bottlenecks. Resources
within a system are finite. By definition, at least one resource (CPU, memory, or I/O) will
be a bottleneck in the system. Tuning allows minimizing the impact of bottlenecks on
performance objectives.
Design applications with performance in mind.
20
10 Reference
1. Script to monitor number of database connections in use at regular interval and write in
a file or database: http://decipherinfosys.wordpress.com/2007/02/10/monitoringnumber-of-connections-in-oracle
2. Script to monitor number of listeners on queues at regular interval and write the data in
a file or database: http://decipherinfosys.wordpress.com/2007/02/10/monitoringnumber-of-connections-in-oracle
3. Script to monitor number of messages present in a JMS queue at regular interval and
write data in a file or database: http://weblogicserver.blogspot.com/2010/07/usingwlst-script-to-list-messages-from.html
4. Mechanism to monitor CPU and memory usage on BPEL, JMS, and database servers
(Refer: http://www.cyberciti.biz/tips/how-do-i-find-out-linux-cpu-utilization.html,
http://linuxpoison.blogspot.tw/2008/01/linux-commands-to-monitor-memoryusage.html, http://www.cyberciti.biz/faq/linux-check-memory-usage, and
http://www.unixtutorial.org/2009/02/monitor-linux-memory-usage-with-watchcommand)
21