soa suite 12c performance

42

Upload: voque

Post on 14-Feb-2017

262 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: SOA Suite 12c Performance
Page 2: SOA Suite 12c Performance

SOA Suite 12c Performance Oracle Open World

Aninda Sengupta, Yogesh Kumar, Jay Kasi Oracle SOA Suite Engineering Oct 2, 2014

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Page 3: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 4: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Agenda

• Introduction

• Tuning

–Footprint

–Scalability

–Dehydration Management

• Design for Performance

• EM – Fusion Middleware Control

• Performance diagnostics

Copyright ©2013. Oracle and/or its affiliates, All right reserved

Page 5: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Introduction

Page 6: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

SOA Suite 12c is Available!

6

Page 7: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Introducing SOA Suite 12c

• Major release of SOA Suite with smooth upgrade from 11g

• Simplified Tuning

• More visibility and easier management of exceptions in EM FMWC console

• Optimized for performance

Industrial SOA

Page 8: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

12C SOA Suite architecture

Unified Runtime

Policy Manager

Optimized

binding

Human Workflow

Business Rules

Oracle Service Bus

Common JCA-based connectivity infrastructure

Repository

EM console +BPM Screens

BAM

B2B

Mediator

Process Analytics

Proc Cubes

Process Core

BPEL BPMN

Copyright ©2013. Oracle and/or its affiliates, All right reserved

Case Management

Page 9: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Tuning

Page 10: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

SOA Suite Performance Tuning – Overview

• BPEL/BPMN

• AuditLevel

• OneWay DeliveryPolicy

• InMemoryOptimization

• MaxRecoverAttempt

• Others

• Adapters

• ThreadsCount

• MaxRaiseSize

• MaxTransactionSize

• UseBatchDestroy

• DistributedPolling

• NumOfThreads

SOA Component Level

• OS

• JVM

• Database

• Weblogic Application Server

Generic

• AuditLevel

• Payload Validation

• Work managers

• Lazy Loading

• Modularity profiles

• DB profiles

• EDN optimizations

• Auto Purge

SOA Infrastructure

+

Copyright ©2013. Oracle and/or its affiliates, All right reserved

*Majority of the parameters can be configured via EM

12c Features ---Footprint ---Scalability ---Dehydration mgmt

Page 11: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Footprint Leaner SOA Suite

Page 12: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Lazy Loading

• Problem: If there are a large number of composites, server startup time could be very long to load the composites.

• Solution: Lazy Loading will minimally load the composite at startup. Rest of composite loads on processing first message.

• Defaults: On for new domain. Off for upgraded domain

• Benefits: Rarely used composites and older unused revisions are never loaded saving memory. Startup is much faster. Measured 5x improvement in loading times for large (100s) number of composites compared to 11g

• Recommendations: Enable lazy loading for upgraded domains. Lazy loading should only be off if you have stringent SLA requirements that cannot tolerate spike in response time.

Page 13: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

• Minimal loading at startup means inbound adapters start listening for messages and inbound web services can be invoked. Composite visible in EM FMWC.

• It is off for upgraded domains by default because backwards compatibility is a priority for upgraded domains.

industrial SOA

Lazy Loading

Page 14: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Modularity

• Problem: Memory consumption is large and startup is slow loading all the SOA Suite components.

• Solution: Allow profile selection by user so only the components of SOA Suite used by the user is loaded.

• Benefits: 30% differentiator between largest SOA_CLASSIC and least BPEL_ONLY profile. Improves both startup time and memory.

• Defaults: SOA_FOUNDATION for new domains. SOA_CLASSIC for upgraded domains.

• Recommendations: After upgrade/domain creation, adjust profile to the smallest that meets your needs. Can change it later if needs change.

Page 15: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

• Deployment fails if you deploy a composite using an adapter or component that is not loaded.

• Components are disabled by untargeting them from SOA cluster.

industrial SOA

Modularity

Page 16: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

industrial SOA

Available Modularity Profiles

• Modularity profiles arranged in increasing order of footprint – BPEL-ONLY ~ BPEL PM Components + SOA Suite Common Infrastructure + Partial Adapter set

– ORCHESTRATION ~ BPEL PM-Only + HWF + Partial Adapter set

– SOA FOUNDATION ~ Orchestration + Mediator + Rules + Partial Adapter set

– SOA FOUNDATION ENTERPRISE ~ SOA Foundation + Full Adapter Set

– SOA FOUNDATION WITH B2B ~ SOA Foundation Enterprise + B2B

– SOA FOUNDATION WITH HEALTHCARE ~ SOA Foundation with B2B + Healthcare UI

– SOA CLASSIC ~ SOA Foundation with B2B + BPM Modules

Page 17: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Scalability

Page 18: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Threads Scalability and simplification

• Problem: SOA had fixed thread pools of various types. It is hard to determine the right pool size and threads consume resources even if the load reduces and all the threads are not used.

• Solution: Use a set of weblogic work managers for the thread pools. Automatically set max threads constraints (to avoid overload) based on DB connection pool size.

• Benefits: Weblogic dynamically grows and shrinks the threads available based on measured load.

• Defaults: Percent allocation of max threads to work managers preset based on best practice settings. Default connection pool size is 50.

• Recommendations: Set the db connection pool size based on experimentation. If necessary change percent allocation of max threads to the various work managers.

Page 19: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

WLS Work Managers

• Single pool of threads dynamically allocated to various work managers based on work managers configured policies and load.

• Max threads constraint sets an upper bound on threads.

Self Tuning Threading Model Industrial SOA

Page 20: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

• SOA Data source connection pool size auto adjust max thread constraint that manages relative capacity of work managers.

• Any thread executing the composite take up a db connection so db connection pool size is max number of threads across all work managers.

Industrial SOA

Work Manager configuration

Page 21: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

• Besides connection pool size, can change the percentage of total threads allocated to three buckets.

– Request processing threads: All boundary synchronous gating resources. Example ws servlet, EJB binding.

– Internal threads: all internal engine processing requests. Example async BPEL invoke and callback processing.

– Adapter active threads: adapter and EDN poller threads that are actively processing requests.

• Total should be 100%.

• Intelligent defaults assigned for percentages out of the box.

• Recommend not to directly modify work manager policies in WLS console.

Work manager Configuration

Page 22: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

EDN scalability

• Problem: EDN has a single system wide topic. Becomes a bottleneck under high loads.

• Solution: Have multiple topics. Map event types to topics in EM FMWC.

• Benefits: Much more scalable under load.

• Defaults: single topic based on weblogic JMS.

• Recommendations: create a set of topics and map events to them based on loads for various event types.

Page 23: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

EDN 12c – Scalable/Flexible

• EDN 12c based on JMS (weblogic and AQ)

• Opens up pub/sub outside of SOA Suite – OEP, plain JMS clients

• Leverages standard JMS features - Durable Subscriber, Store-And-Forward

• Leverages instance tracking, alerting and error hospital features

Re-implemented on standard JMS Based Infrastructure industrial SOA

Page 24: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Dehydration Management Optimized access

Page 25: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Purge optimizations

• Problem: Purging could be resource intensive and run for a long time if there are large number of instances

• Solution: Three prongs to the solution.

– Auto Purge: automates purging on schedule so number of instances is always contained.

– Large DB profile partitions the data in db so can just drop partitions to purge. Very fast.

– DB Schema optimized so both parellel and looped purge is much faster.

• Benefits: much faster purge with less load on system.

Industrial SOA

Page 26: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Purge optimizations

• Defaults:

– Auto purge on with default schedule for new domain. Off for upgraded domain.

– Small DB profile without partitioning by default for new domains.

• Recommendations: Enable auto purge for upgraded domain if purge has not been automated by other means. Change the schedules and retention period for new domains to suite your organization.

Page 27: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

DB Schema Profiles Enable DB Tuning out of the box

industrial SOA

• Large profile automatically configure DB partitioning

• Interval Partitioning accelerates purging by targeting instances within a time range. To purge you just verify a partition does not have active instances and if not drop the partition.

• Option specified in RCU when new deployment is being set up. Currently does not apply to upgraded domains.

Page 28: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Purge Improvements

• Auto purge of SOA Suite DB enabled by default for new customers

• Improved performance due to consolidation of Audit and Flow Instance data

Reduce ongoing maintenance costs industrial SOA

8x improvement in parallel purging compared to 11g

10x improvement in looped purging compared to 11g

Page 29: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Exalogic improvements

• Problem: Continue providing enhanced value to SOA on Exalogic.

• Solution: static variable analysis to optimize dehydration writes.

• Recommendations: for super high performance choose Exalogic.

Page 30: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Exalogic Improvements

• Large performance gains in SOA Suite 11.1.1.7 on Exalogic.

• Build on that in 12.1.3 with static compiler for look ahead variable usage analysis to greatly reduce dehydration write cost.

industrial SOA

Page 31: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Designing for Performance

Page 32: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Designing for performance

• Most effective way to achieve performance for composites.

• Design patterns discussed in OOW 2013 – “CON8402 Accelerate SOA Platform for achieving Peak Performance”. Not discussed here.

• Will focus on two new patterns for 12c.

Page 33: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

BPEL PM no transactions

• BPEL PM - no transactions avoids transaction timeouts for time costly looped constructs. Also non use of XA improves performance. Outbound references are limited to a few non transactional endpoints.

industrial SOA

Page 34: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Memory and CPU Optimization with Sub-Processes

• Subprocess is reusable BPEL PM code

• It can reduce total amount of BPEL PM code (and memory).

• Subprocess invoke is faster than invoking another component or composite.

Page 35: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Service Bus Improvements industrial SOA

• New high performance Xquery 1.0 engine

– Old engine still supported for backwards compatibility

• Split of a proxy service into a proxy service and a pipeline. Looks more like a SOA Suite composite with service and components.

– More efficient to have multiple inbound transports for a pipeline than before – a key service bus use case

Page 36: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

EM – Fusion Middleware Control

Page 37: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

EM FMWC Improvements

• Much faster page loading even with large number of instances.

• Search screen to select the instances of interest. Initially page does not have instances.

• Queries faster due to optimized db schema.

• Query can be customized to fetch only required instances improving performance.

• Can save frequent queries for reuse.

industrial SOA

Page 38: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Performance diagnostics

Page 39: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Adapter End Point Metrics industrial SOA

• Single view capturing all adapter diagnostics that includes metrics. Metrics guides adapter tuning.

• Metrics captured per end point

• Adapter reports for cluster wide diagnostics

• Reports can be persisted to database for retrospective analysis

Page 40: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement

The preceding is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Page 41: SOA Suite 12c Performance

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Page 42: SOA Suite 12c Performance