Oracle® Fusion Middleware User's Guide for Oracle B2B 11g Release 1 (11.1.1) Part Number E10229-01 |
|
|
View PDF |
This appendix contains the following topics:
To improve performance, set memory arguments appropriately based on your requirements and system. Code clean-up, multithreading, and table indexing are major contributors to maximizing the use of available resources. Java performance tuning also helps in sharing the resources among the various processes based on the usage/need of the resource.
When using the large payload settings, the internal delivery channel must be the default channel or a JMS queue.
Changes to b2b-config.xml
require a server restart. The syntax in various examples in this section reflect generic UNIX format.
The following settings improved Oracle B2B performance based on 2 GB of RAM on a 32-bit computer and 200 MB of B2B configuration data. When working in a Windows operating system with large payloads, a 64-bit server is recommended.
Memory arguments are captured in DOMAIN_HOME/bin/setSOADomainEnv.sh
. Memory tuning applies to Oracle JRocket or SUN JVM.
For Oracle JRocket
export JAVA_VENDOR Oracle DEFAULT_MEM_ARGS="-Xms1024m -Xmx1024m"
For Sun JVM
export JAVA_VENDOR Sun DEFAULT_MEM_ARGS="-Xms1024m -Xmx1024m" if["$JAVA_VENDOR"!= "Oracle"];then DEFAULT_MEM_ARGS="$DEFAULT_MEM_ARGS -XX:CompileThreshold=100000 -XX:PermSize=256m -XX:MaxPermSize=256m"
-Xms
and -Xmx
can be increased up to 2 GB based on memory availability.
Verify the heap size settings in the setSOADomain.sh
script (see DEFAULT_MEM_ARGS
) before starting any of the following servers in the WebLogic domain:
The SOA managed server
The WebLogic Admin Server
Using precise heap settings when starting the servers is necessary for B2B to process large payloads.
To set the Metadata Service (MDS) instance cache size, add the following property and value to DOMAIN_HOME/config/soa-infra/configuration/b2b-config.xml
.
<property> <name>b2b.mdsCache</name> <value>200000</value> <comment>MDS Instance cache size </comment> </property>
A ratio of 5:1 is recommended for the xmx-to-mdsCache values. For example, if the xmx size is 1024, maintain mdsCache at 200 MB.
Changing the value of threadCount
can improve Oracle B2B message processing. The recommended value depends on your system. For a 2 GB computer, a setting of 3 to 5 is recommended. The sleepTime
property puts a thread to sleep after message processing. A setting between 10 and 1000 (milliseconds) is recommended.
Set these values in DOMAIN_HOME
/config/soa-infra/configuration/b2b-config.xml
as follows:
<property> <name>b2b.inboundProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.inboundProcess.sleepTime</name> <value>10</value> <comment></comment> </property> <property> <name>b2b.outboundProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.outboundProcess.sleepTime</name> <value>10</value> <comment></comment> </property> <property> <name>b2b.defaultProcess.threadCount</name> <value>5</value> <comment></comment> </property> <property> <name>b2b.defaultProcess.sleepTime</name> <value>10</value> <comment></comment> </property>
Changing the value of Stuck Thread Max Time can improve Oracle B2B message processing if a thread is stuck. This is the maximum amount of time that the server checks the number of seconds that a thread must be continually working before the server considers the thread stuck.
Only if you see a stuck thread exception should you change the Stuck Thread Max Time setting in Oracle WebLogic Server Administration Console. Increasing this number can degrade performance.
Navigate to Environment > Servers > soa_server_name > Configuration > Tuning. Set Stuck Thread Max Time, shown in Figure A-1, to a maximum of 1200. (The default value is 600 seconds.)
Figure A-1 Changing Stuck Thread Max Time
If you store more than an a 150 MG configuration, extend or add a data file to increase tablespace size as follows:
ALTER TABLESPACE sh_mds add DATAFILE 'sh_mds01.DBF' SIZE 100M autoextend on next 10M maxsize unlimited; ALTER TABLESPACE sh_ias_temp add TEMPFILE 'sh_ias_temp01.DBF' SIZE 100M autoextend on next 10M maxsize unlimited;
On slower Windows computers (2 to 4 GB, 32-bit), the JTA timeout must be increased for Oracle B2B. Use the Oracle WebLogic Server Administration Console to increase the JTA transaction timeout to a higher number, depending on your environment. In some situations, a setting of 350 seconds is sufficient.
Oracle B2B can handle large payloads through the SOA Infrastructure and JMS internal queues.
Inbound Setup
Figure A-2 shows the properties to set for inbound cases. Go to Administration > Configuration > Performance.
If a composite is deployed to handle the large payload, this is the only configuration needed. If B2B is not delivering the payload to a composite, set Use JMS Queue to true, as shown in Figure A-3. Go to Administration > Configuration > Generic.
With Use JMS Queue set to true, the payload is delivered to B2B_IN_QUEUE
, a JMS-based queue.
Outbound Setup
Figure A-4 shows the properties to set for the outbound case.
Notes
If you are doing large payload testing, set the logPayload property on the Administration > Configuration tab to false.
If you are doing large payload testing, set showpayload to false to avoid listing the payload in reports.
Increase the maximum heap size by using -Xmx2048m.
Increase the database tablespace size for soadatasource to have autoextend on and increase the tablespace file size maximum limit.
alter database datafile '/scratch/$user/auto_work/db230/oradata/db230/SH_soainfra.dbf' autoextend on next 10M maxsize 4096M
Set the transaction timeout in Oracle WebLogic Administration Server:
Weblogic Console Services -> JTA Timeout Seconds=720 seconds
Weblogic Console Services -> JDBC->DataSources->SOADataSource - increase XA timeout to 120-180 seconds
If Oracle B2B is used alone (without the SOA Infrastructure), the JTA timeout can be set in b2b-config.xml
by using the advanced property oracle.tip.b2b.jtaTimeout
.
For an outbound SOA composite, always select the Use file streaming option for the File Adapter.