Oracle BPEL Process Manager Performance Tuning -2 Design of Experiments (DoE)
Tushar Jain
[email protected]
Nov 2008
http://oracle-fusionmiddlware.blogspot.com/
Agenda
DoE for BPEL Server performance Tuning Domain Level: Transient Processes Domain Level: Durable Processes Process Level: Transient Processes Process Level: Durable Processes
Copyright Tushar Jain, 2008
-2-
DoE Steps
Methodology & Assumptions Select output parameters List levels Select a design Conduct Experiment Collect Data Analyze data and draw conclusion
Copyright Tushar Jain, 2008
-3-
Methodology & Assumptions
Methodology
Start with Domain Level: Transient Processes Then proceed for Domain Level: Durable Processes Do not tinker with Oracle prohibited, deprecated, OC4J, Database, JVM specific and properties which have miniscule effect on performance.
Assumptions
OC4J is already tuned Dehydration database is already tuned JVM is already tuned Hardware and Networking assets are already identified and tuned Process to be tuned is already identified and optimized at code level.
Copyright Tushar Jain, 2008
-4-
Methodology & Assumptions contd…
Assumptions
Domain Level • • • • • •
• • •
processCheckSecs = -1 statsLastN = 0 validateXML = false auditLevel =production slowPerfThreshold = 2 sec (for durable processes only) workerQueueConnectionPoolMinSize = worker threads (for durable processes only) dspMaxRequestDepth = 600 (for durable processes only) idempotentThreshold = 30 sec (for durable processes only) minBPELWait = 2 sec (for durable processes only)
Process Level • • • • •
completionPersistLevel = instanceHeader inMemoryOptimization = true completionPersistPolicy = faulted idempotent =true nonBlockingInvoke = true (pay attention to: connection pool size >= (InvokerBean listener threads + WorkerBean listener threads + maximum concurrent request-response invocations)
Copyright Tushar Jain, 2008
-5-
Output Parameters
Output Parameters Number of requests served at given load •
OK performance : minimum N requests per second
Copyright Tushar Jain, 2008
-6-
Domain Level: Transient Processes
Properties Identified for Domain Level – Transient Processes
dspMaxThreads • 100 (default) • 150 idempotentThreshold • 30 seconds (default) • 60 seconds
instanceKeyBlockSize • •
invokerQueueConnectionPoolMinSize • •
25 (default) 50
largeDocumentThreshold • •
10000 (default) 15000
50 kilobytes (default) 100 kilobytes
syncMaxWaitTime • •
Copyright Tushar Jain, 2008
45 seconds (default) 60 seconds -7-
Domain Level: Transient Processes contd…
List of input parameters
Sr. #
Input Factor
Level 1 (-)
Level 2 (+)
A
dspMaxThreads
100
150
B
idempotentThreshold
30
60
C
instanceKeyBlockSize
10000
15000
D
invokerQueueConnectionPoolMinSize
25
50
E
largeDocumentThreshold
50
100
F
syncMaxWaitTime
45
60
Copyright Tushar Jain, 2008
-8-
Domain Level: Transient Processes contd…
Design Selected
Test #
A
B
Input Factors C D
1
+ + + +
+ + + +
+ + + + -
2 3 4 5 6 7 8
Copyright Tushar Jain, 2008
-9-
+ + + +
E
F
+ + + + -
+ + + + -
Domain Level: Transient Processes contd…
Conduct experiment Collect data
Test #
A
B
Input Factors C D
1
+ + + +
+ + + +
+ + + + -
2 3 4 5 6 7 8
Copyright Tushar Jain, 2008
+ + + +
- 10 -
E
F
+ + + + -
+ + + + -
Output (Test Results) OK Score
No (-) 31.00 No (-) 59.00 Yes (+) 74.00 No (-) 56.00 Yes (+) 87.00 No (-) 69.00 No (-) 44.00 Yes (+) 72.00 Avg 61.50
Domain Level: Transient Processes contd…
Analyze data & Draw conclusion Input Factors C D
Test #
A
B
1
-31.00 -59.00 -74.00 -56.00 87.00 69.00 44.00 72.00
-31.00 -59.00 74.00 56.00 -87.00 -69.00 44.00 72.00
-31.00 -59.00 74.00 56.00 87.00 69.00 -44.00 -72.00
52.00 13.00
0.00 0.00
80.00 20.00
2 3 4 5 6 7 8 Difference (Diff) Effect (Diff/4)
E
F
-31.00 59.00 -74.00 56.00 -87.00 69.00 -44.00 72.00
-31.00 59.00 -74.00 56.00 87.00 -69.00 44.00 -72.00
-31.00 59.00 74.00 -56.00 -87.00 69.00 44.00 -72.00
20.00 5.00
0.00 0.00
0.00 0.00
The optimum performance would be obtained by running the following trial A B C D E
+
Copyright Tushar Jain, 2008
0
+
+
- 11 -
0
F
0
Domain Level: Durable Processes
Properties Identified for Domain Level – Durable Processes
• •
•
•
•
120 sec (default) 60 sec
•
0.4 (default) 0.5
100 (default) 150
•
5 threads (default) 3 threads
expirationMaxRetry • •
Copyright Tushar Jain, 2008
5 (default) 3
- 12 -
10000 (default) 15000
largeDocumentThreshold •
dspMinThreads •
dspMaxThreads •
•
dspInvokeAllocFactor •
instanceKeyBlockSize •
50 kB (default) 20 kB
dspAgentDelay •
auditDetailThreshold
50 kilobytes (default) 100 kilobytes
Domain Level: Durable Processes contd…
List of input parameters
Sr. #
Input Factor
Level 1 (-)
Level 2 (+)
A
auditDetailThreshold
50
20
B
dspAgentDelay
120
60
C
dspInvokeAllocFactor
0.4
0.5
D
dspMaxThreads
100
150
E
dspMinThreads
5
3
F
expirationMaxRetry
5
3
G
instanceKeyBlockSize
10000
15000
H
largeDocumentThreshold
50
100
Copyright Tushar Jain, 2008
- 13 -
Domain Level: Durable Processes contd…
Design Selected Test #
A
B
C
Input Factors D E
1
+ + + + + +
+ + + + + +
+ + + + + + + +
+ + + + + +
2 3 4 5 6 7 8 9 10 11 12
Copyright Tushar Jain, 2008
- 14 -
+ + + + + + -
F
G
H
+ + + + + + -
+ + + + + +
+ + + +
Domain Level: Durable Processes contd…
Conduct experiment Collect data Test #
A
B
Input Factors C D
1
+ + + + + +
+ + + + + +
+ + + + + + + +
2 3 4 5 6 7 8 9 10 11 12
+ + + + + +
E
F
G
H
Output (Test Results) OK Score
+ + + + + + -
+ + + + + + -
+ + + + + +
+ + + +
No (-) No (-) Yes (+) No (-) Yes (+) No (-) No (-) Yes (+) Yes (+) No (-) No (-) Yes (+)
Avg
Copyright Tushar Jain, 2008
- 15 -
31.00 59.00 74.00 56.00 87.00 69.00 44.00 72.00 80.00 70.00 34.00 43.00
89.88
Domain Level: Durable Processes contd…
Analyze data & Draw conclusion Input Factors D E
Test #
A
B
C
1
-31.00 -59.00 -74.00 -56.00 -87.00 -69.00 44.00 72.00 80.00 70.00 34.00 43.00
-31.00 -59.00 74.00 56.00 -87.00 -69.00 44.00 72.00 -80.00 -70.00 34.00 43.00
-31.00 -59.00 74.00 56.00 87.00 69.00 -44.00 -72.00 80.00 70.00 34.00 43.00
-31.00 59.00 -74.00 56.00 -87.00 69.00 -44.00 72.00 -80.00 70.00 -34.00 43.00
-260.00 -65.00
0.00 0.00
80.00 20.00
20.00 5.00
2 3 4 5 6 7 8 9 10 11 12 Difference (Diff) Effect (Diff/4)
F
G
H
-31.00 59.00 -74.00 56.00 87.00 -69.00 44.00 -72.00 80.00 -70.00 34.00 -43.00
-31.00 59.00 74.00 -56.00 -87.00 69.00 44.00 -72.00 -80.00 70.00 34.00 -43.00
-31.00 59.00 74.00 -56.00 87.00 -69.00 -44.00 72.00 80.00 -70.00 -34.00 43.00
-31.00 -59.00 74.00 -56.00 -87.00 69.00 -44.00 -72.00 80.00 -70.00 -34.00 43.00
0.00 0.00
0.00 0.00
92.00 23.00
-206.00 -51.50
5. Draw Conclusion The optimum performance would be obtained by running the following trial A B C D E
Copyright Tushar Jain, 2008
0
+
+
0 - 16 -
F
G
H
0
+
-
Takeaways
DoE can reduce number of trial to manageable numbers Further refinements may be achieved using Evolutionary Operations (EVOP)
Copyright Tushar Jain, 2008
- 17 -