Skip to main content

Performance tuning over Oracle SOA EM Console

Enable the “Data Display Option”: Login into EM console and make the data display option to 30 minutes default, so when user will login into EM console, it will load data of last 30 minutes process and it will load EM console faster as with default configuration.
  • Enable the checkbox for below options-
  • Disabled fetching of instance and fault matrices count.
Restrict display of instance and fault to the last 30 minute
Increased cache timeout for discovery: During login process in Em console, EM does three things:
  • Authentication
  • Discovery of targets
  • Loading the page.
Discovery of target step was taking too long around 10 minute since Domain was big and having a list of targets.
Oracle note 1423893.We have to implemented to cache the discovery result, so the sub sequent login attempt will be fast - Following given Mbeans attributes has been added into to improve performance –
 
All timing for mbeans in milliseconds. After implementing above change, very first user login will take time after restart of Admin and the discovery result will be stored in cache and sub sequent login attempt will be fast.
Decrease the frequency of DMS application: EM has one inbuilt application called Dynamic Monitoring System (DMS) which does the status collection for all the targets wherever DMS got deployed, if the frequency of DMS stats collection will be too fast then it makes EM console to slow down. To increase the frequency here are the steps-
Increased below parameters in dms_config.xml file given at this location –
$MiddlewareHome/fmw/soa11.1.1.6/oracle_common/modules/oracle.dms_11.1.1/server_config
prefetch intervalSeconds from 15 second to 120,
Discover intervalSeconds from 180 second to 300 seconds
<collectorConfiguration>
   <prefetch intervalSeconds="120" removeCycle="2" isDefault="true"/>
   <prefetch intervalSeconds="300" removeCycle="3"/>
   <discover intervalSeconds="300"/>
</collectorConfiguration>
Disabled “BPEL recovery console” option from Dashboard: Once you logged in into EM console, during dashboard page loading, EM will try to fetch the data from “DLV_MESSAGE” tables for “invoke” and “callback” activities which take longer time since DLV_ MESSAGE table normally is quite huge.
In order to disable the same please perform this –
EM console>>Farm>>soa-infra>>Administration>>System Mbeam Browser>> Filter>> Type bean name "oracle.as.soainfra.config:name=soa-infra,*", >> In result click on "AduitConfig" attribute and change the "bpelRecoveryStatus=Off", default value for bpelRecoveryStatus is "all"
Added JVM parameter at domain level “-Dweblogic.management.disableManagedServerNotifications=true”
Above JVM parameter has been suggested by Oracle, this parameter will help to reduce JMX notification which occur between Admin and Managed servers whenever any new component get added, any state get changes etc.
This configuration got added only for Admin Server Instance, not at Manage server level, and we have notice huge benefit in EM after this change, now EM was not at all hanging during login time, internal link were slow but at least multiple users were able to login into EM.
Explored direct links to access the EM console Instance tab page, fault and recovery tab page, dashboard tab etc.: If we login into EM console via normal login procedure, it takes quite a long time to navigate from Dashboard tab page to Instance tab page etc. To avoid this delay we have provide direct link for accessing these page based on user need-
&type=oracle_soainfra&selectedTab=instancesTab
 Note:In above string replace hostname, domain name, port number and target value to prepare the URL for your environment, target name can be pulled out from this path- right click on “soa-infra(mservername) >> click to general >> a dialogue box will appear, copy the target name from there and replace in above string. Refer the above screen shot for path.
Fault and Recovery Tab page:
&type=oracle_soainfra&selectedTab=faultsTab
Dashboard Tab Page:
&type=oracle_soainfra&selectedTab=compositeTabs
 

auditLevel BPEL Property:

This property sets the audit trail logging level. This process is applicable to both durable and transient processes.
This property controls the amount of audit events logged by a process. This setting greatly impacts performance because more audit events means more database inserts into the audit_trail table. This audit information is used only for viewing the state of the process from Oracle BPEL Control.
Use this property if you do not want to store all audit information. Choose the level according to your business requirement. Auditing information has a significant impact on database growth and throughput. For optimal performance, set this property to the lowest acceptable level.
Values: This property has the following values:
  • Off: No audit events (activity execution information) are persisted and no logging is performed; this can result in a slight performance boost for processing instances.
  • Minimal: all events are logged; however, no audit details (variable content) are logged. This setting is recommended for larger payload processes.
  • Production: all events are logged. The audit details for assign activities are not logged; the details for all other activities are logged. This setting is recommended for smaller payload processes.
  • Development (default): all events are logged; all audit details for all activities are logged.
 
Tuning OC4J for Oracle BPEL: The parameters described in this section are set at the Oracle Application Server level. You must restart the OC4J instance for these parameters to take effect.
  • Tuning JTA Transaction Timeout for Oracle BPEL Process Manager: Oracle BPEL Server uses JTA to achieve atomicity. The transaction timeout value is set by default to 60000 milliseconds in the transaction-manager.xml The location of this file depends on the method by which you installed Oracle BPEL Process Manager:
  • For Oracle Application Server SOA installations, the file is located in SOA_Oracle_Home\j2ee\home\config.
  • For Oracle BPEL Process Manager installations, the file is located in SOA_Oracle_Home\bpel\system\appserver\oc4j\j2ee\home\config.
You can sometimes experience transaction rollback errors due to timeouts, especially when Oracle BPEL Server is under stress. The timeout can happen for many reasons:
  • Insufficient resources (for example, not enough database connections in the connection pool, the server thread waits for 60 seconds and displays a timeout error, and so on).
  • Large document manipulation (for example, database writes of very large documents can take longer than 60 seconds).
Change this value according to your process. The following example sets the timeout to 120 seconds: <transaction-config timeout="120000" />
Java Virtual Machine Performance Tuning for Oracle BPEL Server: JVM parameters can have an impact Oracle BPEL Server performance. The major factors that impact performance relate to the heap size. The heap size controls the amount of memory the JVM uses. If your BPEL process instance runs on a dedicated host, set the heap size value as high as possible.
Another important heap configuration is the garbage collector's generational settings. The garbage collector optimizes collection by classifying objects by how long they live. Most Oracle BPEL Server objects are short-lived; thus they live in the Eden space. Oracle recommends sizing the Eden space to be 60 to 70 percent of the total heap size.
The JVM -Xmn setting startup option sets an explicit value for the Eden space size. Do the following to set this option:
  1. Calculate the 60-70 percent value, based on the specified maximum heap size.
Use the calculated value to set the JVM -Xmn command line parameter.
Created following Index to improve the EM queries execution response time:

Comments

Post a Comment

Popular posts from this blog

Oracle SOA 12C rest adapter with Custom HTTP headers

Most existing web applications are connected through web services, which are commonly known as SOAP services. More and more users are relying on mobile devices for communication, and they’re looking for lighter ways to access enterprise information on the go. REST services are the answer for the mobile device platform, because they get rapid responses and fast access to data. Oracle SOA Suite 12 c  provides a complete set of service infrastructure components for designing, deploying, and managing composite applications. Oracle SOA Suite 12 c  enables services to be created, managed, and orchestrated into composite applications and business processes. Some time we have need to send HTTP headers in REST service, In OSB we use header component and add what ever is needed but in oracle SOA 12C it's little bit different. Let see how we can do it. Create one SOA Application. Create one SOA Sample project inside SOA Application. Go to composite and drag drop REST ...

Solution for BPM standard dashboard & activity guide not working in Oracle SOA 12.2.1.0 C

As earlier i publish a post about different issue of Oracle BPM, After some oracle support i got to fixed them. Issue Blog Here... Issue 3:BPM 12.2.1 process workspace activity guide not working. if you have a normal BPM Process, then this is the issue. In order to have data populated in "Activity Guide" firstly you should create a BPMN Guided Business Process. Below you can find the documentation about activity guide and how to create a Guided Business Process: https://docs.oracle.com/middleware/1221/bpm/bpm-develop/GUID-F765955D-90A5-48D4-8D2A-2F01FBB539E3.htm#BPMPD901 And here is specified: " A Guided Business Process is modeled as an activity guide that is based on a business process. The Activity Guide includes a set of Milestones. A milestone is a contained set of tasks that the end user has to complete. A milestone is complete when the user successfully runs a specific set of tasks in the milestone. " And in the below chapters you will find the ...

Swagger API document from Any WADL & Schema in Oracle SOA

Hi everyone, Hope everyone is doing well these days, Recently i started a project work over how to generate swagger API document for your any REST API, In case if you don't know what is swagger please go and check " https://swagger.io/tools/swagger-editor/ ". It's a great and easy to use tool which will help to create user friendly, human readable form API documentation with extension for generating API client in different languages with capability of testing your API from same. What is swagger editor, Design, describe, and document your API on the first open source editor fully dedicated to OpenAPI-based APIs. The Swagger Editor is great for quickly getting started with the OpenAPI (formerly known as the Swagger Specification) specification, with support for Swagger 2.0 and OpenAPI 3.0.  What benefits you will get by using swagger, Runs Anywhere, The Editor works in any development environment, be it locally or in the web. Smart Feedback, Validate you...