Friday, March 11, 2011

SOA Suite - Tuning

  • Heap size - JVM will grab from OS for the memory usage. Use EM -Weblogic Domain-right click and use JVM performance to view jvm performance. For 32 bit, 3 GB is the limit. For 64 bit, we can have more eg. 12 GB. Use 60 - 85 % of the available memory for heap. For sun JDK use ensure that permgen size is changed. For SOA, we need to increase the Permgen size. For Jrockit, no perm size.
  • Default JTA time out is 30 sec. for SOA Suite, we need to increase the transaction time out.   
  • Set the processor parameter in database > 300
  • Set the session parameter > 200.
  • Sys user with SysDBA Privilages for the schema. 
  • Make sure we are using 64 bit JVM.
  • Payload validation (while configuring the server urls) decrease the performance
  • Audit level - may decrease the performance.
  • Database adaptor connection pool setting , Database adaptor connection pool setting for developers to use.
  • Trouble shoot - Ensure that the file adaptors have data appropriately. Will the instance is up and running.
  • BPEL properties - Audit trail level size, document size for a variable, payload validation for incoming and outgoing messages.
  • Mediator properties.
  • Tune JCA Adaptor - File adaptor (inbound, outbound throttling, thread count, concurrentThreshold use staging, serialize translation etc)
  • Database adaptor tuning.
  • Database tuning - will run out table spaces very often. init.ora. how long the instances will be in database ? untill you purge the instances. Table space should be auto extended. We should have a mechanisam to clean up the instances in database. Change from development mode to production mode to reduce the instance data in database. We can purge only the completed instances. Other option is to transfer the data to another data base for futher reference.
  • Database connection pools. Do not do the connection testing and profiling in production.
  • Purge data - Delete all the completed instances.  rejected messages,  and orphan message.
  • Developers can write a pojo or a composite application to send email using UMS for completed messages, rejected messages etc.


  • Use WLDF
  • Use EM Console - CPU, Memory, Heap , Requests. Etc. EM has the socket connection to all the instances.
  • Logging level - notification, error or warning , notification, trance.
  • Disable fetching in em.


  1. Thanks for this post. As far I know for 32bit max JVM memory you can allocate is 2GB, but you are saying you can set it up to 3GB. Can a 32 bit system allocate 3GB and work properly.


  2. Can you please give some justification for setting "Set the processor parameter in database > 300"?



  3. Probashi,

    Yes, you can set JVM heap upto a max of 3GB on 32-bit machine which is 75% of RAM. For 32 bit machines, you can have RAM upto 4GB.

    Processor parameter value in database is Oracle best practice recommendation during installation.