Before using this information and the product it supports, read the information in “Notices” on page 247.
Copyright
This edition applies to Version 5 Release 2 of Sterling B2B Integrator and to all subsequent releases and
modifications until otherwise indicated in new editions.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Performance Management .......1
Overview ...............1
Intended Audience ...........2
System Components ...........2
Performance Tuning Methodology ......4
Performance Recommendations Checklists ....5
Sterling B2B Integrator: General Recommendations
Checklist..............5
IBM Sterling File Gateway: Specific
Recommendations Checklist ........9
EBICS Banking Server: Specific
Recommendations ...........12
Database Management...........13
Planning ..............13
Server Sizing .............14
Storage and File Systems .........14
Database management for Sterling B2B Integrator 16
Oracle Database Configuration and Monitoring22
IBM DB2 for LUW Configuration and Monitoring 35
Microsoft SQL Server Configuration and
You can manage the performance of Sterling B2B Integrator according to your
needs.
Overview
Typically, performance in general, and optimal performance in particular, are
associated with the following criteria: latency, throughput, scalability, and load.
v Latency – The amount of time taken to generate a response to a request (speed).
v Throughput – The amount of data transferred during a specified period
(volume).
v Scalability – The ability of the system to adapt to increasing workload
(additional hardware).
v Load – The ability of the system to continue performing at optimal level even
when the load on the system increases.
Sterling B2B Integrator performance can be tuned to meet various processing
requirements, including higher processing speed and ability to sustain high
volumes. The amount of resources given to the interactive and batch components
of a mixed workload determines the trade-off between responsiveness (speed) and
throughput (work completed in a certain amount of time).
When using Sterling B2B Integrator, if you face any performance issues, perform
the applicable task or tasks from the following list:
v Change performance parameters in the properties files or through the
performance tuning utility. For more information about changing performance
parameters, refer to “Performance Tuning Utility” on page 120.
v Add additional hardware.
v Tune your business processes to run more efficiently on Sterling B2B Integrator.
v Monitor and archive the database to free up resources.
v Create Sterling B2B Integrator cluster for load balancing and scaling.
Before You Begin Performance Tuning
Before you carry out performance tuning actions, you must consider capacity
planning issues. The “Performance and Tuning Worksheet” on page 241 provides
information about how to determine your capacity requirements. This worksheet,
and other capacity planning tools, also help you adjust your current workload,
regardless of your future requirements.
Following is a list of some capacity issues that impact performance and tuning:
v Daily volume requirements, including the average size and number of
transactions to be processed.
v Additional processing requirements, for example, translation, and
straight-through processing.
v Types of pay loads, including EDIFACT, XML, and other formats.
v Translation requirements, for example, translation from EDIFACT to XML.
v Enterprise Resource Planning (ERP) integration requirements, for example,
integration with SAP®or PeopleSoft®.
v Number of processors that are available and can be dedicated to Sterling B2B
Integrator.
v Memory available to meet your processing requirements.
v Disk space available.
v Hard disk Redundant Array of Independent Disks (RAID) level. RAID arrays
use two or more drives in combination for fault tolerance and performance. The
recommended RAID level for Sterling B2B Integrator is Level 5.
v Database size requirements.
Note: When conducting a performance tuning activity, keep the information
provided in this topic at hand for easy reference and future planning.
Intended Audience
This document is intended for, but not limited to:
v Technical Architects
v Performance Engineers
v Configuration Engineers
v Application Administrators
v Database Administrators
v System Administrators
System Components
Performance management activities affect all aspects of the system, including
computer nodes, network, disks, database, and so on.
One person or role may be responsible for one, several, or all the components.
Some of the roles include:
v Hardware Engineer
v System Administrator
v Network Engineer - Local Area or Wide Area
v Application Server Administrator
v Database Administrator
v Capacity Planning Engineer
v Performance Analyst
v IBM®Sterling B2B Integrator Administrator
Performance management documentation includes the following information:
v Background information about the different performance and tuning issues
when running Sterling B2B IntegratorSterling B2B Integrator.
v Step-by-step information that helps you:
– Optimize the performance.
– Diagnose and resolve performance issues, if any, to suit your environment.
You can work through most performance and tuning issues using the following
tools:
v Properties file settings, which you can access through the properties directory in
your installation directory.
2Sterling B2B Integrator: Performance Management
v The Sterling B2B Integrator user interface. Use the Operations option in the
Administration menu to access the following tools:
– JDBC Monitor (Operations > JDBC Monitor)
– JVM Monitor (Operations > System > Performance > JVM Monitor)
– Message Monitor (Operations > Message Monitor)
– Performance Statistics Report (Operations > System > Performance >
Statistics)
– Performance Tuning Wizard (Operations > System > Performance > Tuning)
– System Troubleshooting (Operations > System > Troubleshooter)
– Thread Monitor (Operations > Thread Monitor)
Based on the diversity of the roles and the responsibilities associated with them,
the Sterling B2B Integrator Performance Management Guide is divided into the
following sections:
v Overview - Provides performance tuning overview, audience information,
performance concepts overview, performance tuning methodologies, and tuning
issues that may arise when running Sterling B2B Integrator.
v Performance recommendations checklist - Provides general, planning, and
implementation (single node and cluster) checklists. This topic caters to
hardware engineers, system administrators, network engineers, capacity
planners, and Sterling B2B Integrator administrators.
v Database management system - Discusses key recommendations for Oracle®,
IBM DB2®, Microsoft SQL Server™, and MySQL databases. This topic caters to
database administrators.
v Java™Virtual Machines - Explains configuration, recommendations, and so on.
This topic caters to application server administrators.
v Monitoring operations, performance tuning, and performance statistics -
Discusses monitoring operations, performance tuning (utility and manual), and
management of performance statistics.
v Monitoring operations - Provides information about system logs, auditing,
business process threads, messages, system information, and cluster node status.
v Performance tuning - Explains performance tuning using the performance tuning
wizard, and manual performance tuning recommendations such as scheduling
policies, cache contents, persistence levels, property files, and system recovery.
v Performance statistics - Provides information about managing, enabling and
disabling, and reporting performance statistics.
v Troubleshooting - Provides information about resolving full database issues, Java
Database Connectivity (JDBC™) connections, cache issues, memory issues, slow
system issues, and improving business process execution time.
v Performance and tuning worksheet - Helps you to take an inventory of the
different parts of your Sterling B2B Integrator installation that affects
performance.
v workFlow Launcher - Explains how to run business processes from the
command line.
Note: It is recommended that the performance analyst, capacity planner, and
Sterling B2B Integrator administrators read all the topics.
Performance Management3
Performance Tuning Methodology
For effective performance tuning, you must first identify the performance issues
and determine the corrective actions. Following is a methodology that helps you
focus your efforts and reduce redundant tasks.
Use the following methodology to identify and resolve performance issues in
Sterling B2B Integrator:
1. Fill out the Requirements Planning Worksheet to determine the hardware
requirements for a given processing volume and speed.
Note: If you purchased IBM Consulting Services, you would have received a
report containing information about your hardware requirements based on
your business needs.
2. Verify that your hardware and memory specifications match the hardware and
memory recommendations provided during the performance planning phase.
3. Verify that you have installed the requisite patches on your system, which will
help you fix your performance issues from the IBM Customer Center Web site
at https://cn.sterlingcommerce.com/login.jsp.
4. Verify that you have the supported Java Virtual Machine (JVM™) on the
computer running Sterling B2B Integrator, and on the DMZ computer if you
are running perimeter servers. Both the JVM versions must match each other
and your Sterling B2B Integrator version requirements. The build date and
lower release numbers must also match.
5. Verify that you are running the supported version of your operating system.
6. Verify that you are running the supported versions of the JDBC drivers.
7. Verify that you have created your business processes using the most current
adapters and services, well-structured XPath statements, and the lowest
persistence by step and business process.
8. Tune Sterling B2B Integrator using the Performance Tuning Utility and the
information that you provided in the Requirements Planning Worksheet (refer
to the topic Performance and Tuning Worksheet). The Performance Tuning
Utility enables you to tune the cache, memory, and other system components,
but not the business processes.
For more information about this utility, refer to “Performance Tuning Utility”
on page 120.
9. Navigate to Operations > System > Performance > Statistics. In the Statistics
page, select the Enable Performance Statistics option. The Performance
Statistics reports provide information about the time taken to perform
business processes and execute activities, database connections and
persistence, and business process queue performance. You can use this
information to tune your system according to your volume and speed
requirements.
For more information about performance statistics, refer to the topic Manage
Performance Statistics.
10. Review your history of incoming and outgoing documents and enter this
information in charts, showing daily, weekly, and monthly processing trends.
Use these charts to determine your peak volume processing levels based on
your processing pattern history.
11. Conduct initial performance testing by running your business processes with
sample data that is the same size as the data that will be processed in
production. In addition, run your business processes with data that
4Sterling B2B Integrator: Performance Management
approximates your anticipated peak processing volume. This helps you tune
your system as close to your production environment as possible.
12. Review the Performance Statistics Report for processing speeds, volumes, and
database connections.
13. Review the other reports, such as the Database Usage Report and the Cache
Usage Report, for information about the areas that can be tuned.
14. Retune Sterling B2B Integrator using the Performance Tuning Utility, based on
the information you gathered from your initial performance testing.
Continue this process until your processing time and volume requirements are
met.
15. Create a new Performance Statistics Report called Benchmarksdd/mm/yy.
16. Conduct the same test that you conducted in step 11.
17. Review the Benchmarksdd/mm/yy Performance Statistics Report. If the statistics
in this report are not similar to your previous statistics, repeat steps 11 - 14.
18. Compare your monthly or weekly Performance Statistics Reports with this
Benchmark report to verify that your system is processing business processes
efficiently and that your resources are being used efficiently. Using this
methodology as a proactive measure may reduce downtime and processing
issues.
Performance Recommendations Checklists
Performance Recommendations Checklists provide guidelines to plan for the
required elements, and enhance the performance of Sterling B2B Integrator and
related components.
Sterling B2B Integrator: General Recommendations Checklist
The general recommendations checklist provides a list of guidelines to plan for the
required elements, and to enhance the performance of Sterling B2B Integrator.
In the following table, the Test and Production columns indicate whether the
recommendations are Recommended (R), Critical (C), or Not Applicable (NA) in
the test and production environments.
Note: It is recommended to setup a Sterling B2B Integrator test environment with
a sample set of data to verify the recommendations provided in this checklist.
RecommendationTestProductionComments
OS version and OS
kernel parameters
Network speedCCYou should ensure that your
CCYou should ensure that you install
Sterling B2B Integrator on certified
OS versions and levels.
Refer to the System Requirements
documentation of the corresponding
OS versions.
network cards are operating at the
highest speeds. The network
interface and the network switch can
negotiate to lower speed. When that
happens, performance degrades even
under normal processing periods.
Performance Management5
RecommendationTestProductionComments
AIX page space
allocation
Monitor CPU Utilization NACYou should monitor CPU utilization
Monitor Swap UsageCCIf not enough space is left on the
Monitor PagingCCThe JVMs and database management
CCThe AIX default page space
allocation policy does not reserve
swap space when processes allocate
memory. This can lead to excessive
swap space, which forces AIX to kill
processes when it runs out of swap
space.
You should ensure that you either
have sufficient swap space, or set the
following environment policy
variables:
PSALLOC=EARLY
NODISCLAIM=TRUE
to ensure that there is no CPU
contention.
swap device (or paging file), the
operating system may prevent
another process from starting, or in
some cases, be forced to kill the
running processes.
systems rely on large memory
buffers or heaps, and are sensitive to
paging. Performance can noticeably
degrade if enough memory is not
available to keep the JVM heap in
memory.
Monitor Heap
Garbage Collection
Performance
You can monitor paging levels using
standard operating system or
third-party measurement tools, such
as:
v UNIX/Linux – SAR
v Windows – System Monitor
CCMonitoring heap GC performance is
critical for performance and
availability. For example, if the
amount of heap that is free after a
GC is continually increasing, and
approaching the maximum heap
size, the JVM can experience
OutOfMemory exceptions.
6Sterling B2B Integrator: Performance Management
RecommendationTestProductionComments
EDI Encoder Service
RRAs of Sterling B2B Integrator 5.2, the
EDI Encoder Service and EDI
EDI Envelope Service
Envelope Service notify the user of
an incorrect value or mismatch in
the Mode parameter by writing
information on how to correct the
problem in the status report of the
business process step. This can cause
a performance degradation in some
very heavy usage scenarios by
adding additional load on the
database. It is recommended that all
business processes that use the EDI
Encoder Service and/or EDI
Envelope Service be reviewed to
make certain they are using the
correct Mode parameter, and that the
values match in the business process.
v EDI Encoder Service should be set
as Mode. For example: <assign
to="Mode">IMMEDIATE</assign>
v EDI Envelope Service should be
set as MODE. For example: <assign
to="MODE">IMMEDIATE</assign>
Planning
Server node sizingNACYou should ensure that you have
sufficient computing capacity to
process peak transaction volumes.
Refer to System Requirements
documentation to get an estimate of
the processor, memory, and other
requirements.
You can also engage IBM
Professional Services to conduct a
capacity plan study of your system.
This study involves measuring your
system, and using the measurements
to forecast resource requirements at
anticipated peak processing periods.
Database disk sizingNACYou should ensure that you have
sufficient disk space for the database
server.
The size of the database disk
subsystem may vary from a few
gigabytes to several terabytes. The
size depends on the processing
volume, its complexity, and the
length of time you want to keep the
data active in the database.
JVM
Performance Management7
RecommendationTestProductionComments
JVM versionCCYou must ensure that you install
Sterling B2B Integrator on certified
JVM versions and levels.
Run the –version command in the
command prompt to ensure that you
have installed the correct version.
Verbose GC statisticsNACYou can enable verbose GC statistics
collection. Understanding the health
of GCs for each JVM is critical for
performance.
PagingCCThe JVM heap must be resident in
the memory. The performance can
noticeably degrade if the operating
system has to page portions of the
heap out to disk.
OutOfMemory
Exceptions
JVM VM modeCCFor HotSpot JVM, the server mode is
Heap sizeCCCorrect heap size configuration is
CCOutOfMemory exceptions can cause
unpredictable behavior. You should
ensure that you have allocated
sufficient physical memory to
Sterling B2B Integrator based on
your processing requirements.
applicable for long-running
workloads.
critical for both performance and
availability. If the heap size is too
big, the GC pauses can be long.
Similarly, if the heap size is too
small, it can lead to OutOfMemory
exceptions. You should ensure that
heap size is not set larger than
physical memory to avoid thrashing.
Database
Monitor and regulate
indexes
8Sterling B2B Integrator: Performance Management
Sterling B2B Integrator supports both
32-bit and 64-bit JVMs. You should
allocate more heap space when you
are running a 64-bit JVM.
CCSterling B2B Integrator comes with a
default set of indexes. In some cases,
the indexes may not apply to your
operational environment.
You should regularly monitor the
resource cost of frequently used
queries to check if additional indexes
are required. Similarly, you can also
monitor the database to delete
indexes if they are not required.
RecommendationTestProductionComments
Cursor sharingCCIf you are using Oracle database,
cursor sharing enables dynamic SQL
to be reusable, thereby reducing the
contention on the shared pool.
You should ensure that you set
cursor_sharing=EXACT
Parameters governing
DB2 locking strategy
Parameters governing
DB2 memory
Volatile tableNACMark tables that change significantly,
CCSet DB2_EVALUNCOMMITTED,
DB2_SKIPDELETED, and
DB2_SKIPINSERTED to reduce lock
contention.
CCSet parameters to manage various
memory structures such as
LOCKLIST, SORTHEAP, and so on,
to AUTOMATIC.
as volatile.
IBM Sterling File Gateway: Specific Recommendations
Checklist
IBM Sterling File Gateway is installed on an instance of Sterling B2B Integrator,
and shares many of the resources with the latter, including:
v Communication Adapters
v Business Processes
v Security Services
v Perimeter Services
v Encryption
v Decryption
v Account Management
You should, therefore, tune your Sterling B2B Integrator installation first, and then
perform the Sterling File Gateway-specific tuning and troubleshooting tasks. Be
aware that the changes you make to Sterling File Gateway can also affect the
performance of Sterling B2B Integrator.
Note: Do not edit the properties files. Make all the changes in the
customer_overrides.properties file. For example, to change the
pgpCmdline2svcname property, enter the following line in the
customer_overrides.properties file:
filegateway.pgpCmdline2svcname=CUSTOM
In this line, replace CUSTOM with the name of your Command Line 2 adapter. For
more information about the customer_overrides.properties file, refer to the
property files documentation in the online documentation library.
The following table describes some of the key parameters that must be configured
to optimize Sterling File Gateway performance.
In the following table, the Test and Production columns indicate whether the
recommendations are Recommended (R), Critical (C), or Not Applicable (NA) in
the test and production environments.
Performance Management9
RecommendationTestProductionComments
Increase the value of Sterling File
Gateway.
If you are processing very large
files, increase the probe values to
avoid timeout conditions.
RRNumber of Sterling File Gateway services that can
be run concurrently. The services are split into
two groups, and each group has this value as the
limit. Therefore, the total number of services that
can run concurrently is equal to the value for this
property multiplied by two. Set this to a value
that is higher than the sum of business process
threads in queues 4 and 6 (where Sterling File
Gateway services run).
Default value: 8 (Maximum: 64)
RRTimeouts and sleep intervals that control the
period for which Sterling File Gateway waits for
each of the sub-business process it invokes. The
timeouts and sleep intervals control the timeouts
when a business process is executed
synchronously during routing. The types of
business processes that run during routing are
consumer identification and PGP processing.
Setting the values for these properties also enables
one set of relatively quick probes, followed by a
second set of slower probes. The first set will be
reactive, but consumes more processor capacity.
The second set will be activated for
longer-running processes and will consume less
processor capacity.
If you have a high volume of
PGP traffic, you can improve
your performance by specifying a
group for the file gateway.
If you have very large files that
will be processed by PGP,
increase the value of the file
gateway.
First, probe 120 times, with 100 milliseconds
between each probe, for a total of 12 seconds.
Default value:
v bpCompletionProbes.1=120
v bpCompletionSleepMsec.1=100
Then, probe 600 times with 2000 milliseconds
between each probe, for a total of 1200 seconds
(20 minutes).
Default value:
v bpCompletionProbes.2=600
v bpCompletionSleepMsec.2=2000
RRThe name of the Command Line 2 adapter to be
used for PGP packaging and unpackaging. You
can override this property in the
customer_overrides.properties file if a custom
Command Line 2 adapter is used for PGP
operations. You can also specify an adapter group
name to balance the outbound PGP sessions load
across multiple adapter instances.
and unpackage operations invoked by Sterling
File Gateway.
Default value: 240000 milliseconds (4 minutes)
10Sterling B2B Integrator: Performance Management
RecommendationTestProductionComments
RRThe FTP Client Adapter instance or service group
If you have high volumes of FTP
traffic, you can improve your
performance by specifying a
group.
that the FileGatewayDeliverFTP business process
will use. You can override this property in the
customer_overrides.properties file to use a
custom FTP Client Adapter instance to contact
trading partners. You can also specify an adapter
group name to balance the outbound FTP sessions
load across multiple adapter instances.
MailboxEvaluateAllAutomaticRules or
MailboxEvaluateAll
AutomaticRulesSubMin.
MailboxEvaluateAll
AutomaticRulesSubMin verifies the presence of
routable messages once every 10 seconds, and can
be edited for other intervals of less than one
minute by modifying the MailboxEvaluateAll
AutomaticRulesSubMin business process.
Suppress Duplicate MessagesRRPrevents duplicate messages from using system
resources.
Increase the number of steps a
business process must complete
prior to returning to the queue.
RRNumber of steps involved in the completion of a
business process before the business process
returns to the queue. Higher values will accelerate
individual business process execution, while
lower values will provide smoother multitasking
capabilities. Interactive use favors a lower number
of steps, while batch processing favors a higher
number of steps. The value of
noapp.AE_ExecuteCycle.# can be different for
each queue. .# indicates the queue number.
Increase the time period that a
business process can use a
thread, before releasing it to be
used for another business
process.
When a business process has one service to begin
a protocol session and another service to use the
protocol session, a very low AE_ExecuteCycle
may lead many business processes to be in the
queue, with only the first service running. This
may result in many protocol sessions
accumulating in an open state, and session limits
being met sooner than is necessary.
RRMaximum time period, in milliseconds, for which
a business process can use a thread before
releasing it for use by another business process.
This value will override the value set for
AE_ExecuteCycle. Tuning the value for this
property ensures that a series of unusually slow
steps will not tie up a thread completely. This
value can be different for each queue. .# indicates
the queue number. A value that is too low may
result in the accumulation of more sessions than
are recommended.
Performance Management11
RecommendationTestProductionComments
Increase the number of
concurrent threads.
Set storage type.RRFile System is more efficient.
RRTotal number of concurrent threads that Sterling
File Gateway is allowed to use. This number may
be verified against the licensed number of
threads. This value is the total number of threads
available to a workflow engine to execute
business process steps. Other, non-workflow
engine threads do not come under the purview of
this limit. For example, the threads set in
fgRouteConcurrentSessionLimit do not come
under the purview of this limit.
Default value: database
The following table shows the properties that control the above parameters:
RecommendationProperty
Increase the value of Sterling File Gateway.fgRouteConcurrentSessionLimit
If you are processing very large files, increase the probe
values to avoid timeout conditions.
If you have a high volume of PGP traffic, you can
improve your performance by specifying a group for the
file gateway.
If you have very large files that will be processed by
PGP, increase the value of the file gateway.
If you have high volumes of FTP traffic, you can
improve your performance by specifying a group.
Decrease the value of evaluation frequency.
Suppress Duplicate Messagesmailbox.disallowDuplicateMessages=true
Increase the number of steps a business process must
complete prior to returning to the queue.
Increase the time period that a business process can use
a thread, before releasing it to be used for another
business process.
Increase the number of concurrent threads.noapp.MaxThreads
Set storage type.N/A
v filegateway.bpCompletionProbes.2
v filegateway.bpCompletionSleepMsec.2
pgpCmdline2svcname
fgRoutePGPCmdLineSocketTimeout
filegateway.ftpClientAdapterName
v MailboxEvaluateAllAutomaticRules
or
v MailboxEvaluateAllAutomaticRulesSubMin
noapp.AE_ExecuteCycle.#
noapp.AE_ExecuteCycleTime.#
EBICS Banking Server: Specific Recommendations
The EBICS Banking Server is installed on an instance of Sterling B2B Integrator,
and shares many of the resources with the latter.
You should, therefore, tune your Sterling B2B Integrator installation first, and then
perform the EBICS Banking Server-specific tuning. Be aware that the changes you
make to the EBICS Banking Server can also affect the performance of Sterling B2B
Integrator.
12Sterling B2B Integrator: Performance Management
The following table describes some of the key parameters that must be configured
to optimize the EBICS Banking Server's performance:
RecommendationComments
Allocation of
additional threads to
the HTTP Server
Adapter
Reduction of the disk
I/O amount
Storage sizeThe database space required to store the files processed by the
Purge documentsThe document lifespan in an EBICS transaction is set to ten years.
You can allocate additional threads to the HTTP Server adapter
when the rate of concurrent requests to the EBICS Banking Server
is moderately high. Complete the following steps to allocate
additional threads to the HTTP Server adapter:
1. Modify the numOfmaxThread parameter in the
http.properties.in file by setting numOfmaxThread to four
times the number of processor cores on the system the HTTP
Server Adapter is running on. For more information about
calculating the settings to tune the performance of your system,
refer to the topic “View and Restore Performance Configuration
Settings” on page 121.
2. Run the setupfiles.sh (setupfiles.cmd for Windows) script to
apply the changes.
In order to reduce the amount of disk I/O on the system, change
the persistence of the following EBICS business processes to Error
Only:
v handleEBICSRequest
v EBICSOrderAuthorisationProcessing
v EBICSOrderProcessing
EBICS Banking Server is approximately 2.5 times the size of the
transacted files. For more information about managing databases in
Sterling B2B Integrator, refer to “Database management for Sterling
B2B Integrator” on page 16.
As a result, the business processes associated with the documents
remain in the live system databases, and may occupy a large
memory and slow down the performance of the system.
Database Management
For optimal performance in Sterling B2B Integrator, you must properly plan,
configure and manage your database.
Planning
This section provides information about the tasks elements that have to be
completed prior to the implementation phase. The key planning tasks include, but
are not limited to:
The Index Business Process service scans the live systems, and
flags the records that have reached their purge eligibility date and
time. To reset the document lifespan, schedule the Index Business
Process to run every ten minutes. The Index Business Process
resets the lifespan after you delete the messages from the mailbox.
For more information about implementing and configuring the
Index Business Process service and scheduled purge, refer to Index
Business Process Service and Purge Service documentation
respectively in the online documentation library.
Performance Management13
v Selecting a certified database management server software and version. Refer to
the Sterling B2B Integrator System Requirements for a list of supported database
configurations.
v Determining the size and configuration of the database server node
v Determining the size and configuration of the database disk subsystem
v Determining the disk technology
Monitoring Disk Space
At the operating system level, it is important to monitor disk space utilization, as
this is one of the most common causes of database freeze up. On various
UNIX/Linux-based platforms, run the df command as a line command or in a
shell script. Various third-party tools are also available.
Server Sizing
At appropriate times in the project lifecycle, you can request a Server Sizing study
from your IBM Professional Services Project Manager or a IBM Sales Executive.
This study starts with the Sterling B2B Integrator Server Sizing Questionnaire. IBM
Performance Engineering creates a sizing document that provides information
about the estimated processor, memory, and network requirements for the
standard/baseline Sterling B2B Integrator. On your part, you must consider
additional requirements such as other workloads on the same node (for example,
additional third-party software, customization, performance monitors, and so on).
Storage and File Systems
This section covers the following topics:
v Capacity Requirements
v Use of Native File Systems
v Monitoring Disk Space
Capacity Requirements
Your disk capacity requirement is a very important input to the disk configuration
planning process. This involves many considerations to ensure survivability,
manageability, scalability, and performance.
The following table provides information about the tasks that you must perform to
ensure that the required behavior is achieved.
GoalStrategy
Survivability
ManageabilityIf you have limited-time windows to back up the database, select techniques such as
v Configure disks with the ability to survive single or multiple disk failures (for
example, RAID-1, RAID-5, or RAID-10).
v Configure the disk array with multiple I/O paths to the server to survive I/O path
failures.
v Configure disks to be accessible from multiple server nodes to tolerate single-node
failures.
array snapshots or SAN-based (storage area network) mirroring that allow logical
backups.
14Sterling B2B Integrator: Performance Management
GoalStrategy
Scalability and Performance
v Configure the disk array with many small disks instead of a few large disks to
increase the number of I/O paths.
v Configure the disk array with large NVRAM cache to improve read and write
performance.
v Configure the disks with stripping (for example, RAID-0 or RAID-10).
v In some circumstances, you may also want to consider using solid-state disks.
Capacity Requirements: An Example
Let us consider the following example to understand the concept of capacity
requirements better. Assume you require 900 GB of storage and you have disk
arrays or SANs that are made up of 93 GB disks. Let us further assume that the
database is implemented over ninety 10 GB data files.
The following table summarizes the choices for the common disk organizations
and the trade-offs involved.
provides read/write
throughput at n times a
single disk.
RAID-1Poor. Similar performance
to that of JBOD.
RAID-5Excellent for read (similar
to RAID-0). Potentially
poor for write performance.
RAID-6Excellent for read (similar
to RAID-0). Potentially
poor for write performance
as parity calculations need
to happen. The
performance of RAID-6 and
RAID-5 is about the same
and dependent on the
controllers.
RAID-01Excellent read/write
performance.
Poor. Single-disk failure
creates outage and requires
database recovery
Poor. Single-disk failure
creates outage and requires
database recovery.
Better. Can survive
multiple disk failures,
assuming that these occur
in different mirrored sets.
Better. Able to survive a
single-disk failure. Multiple
disk failures create an
outage and require
database recovery.
Better. Can survive a
double-disk failure. This
gives it an edge over
RAID-5. A failure of more
than two disks creates an
outage.
Can tolerate up to two disk
failures as long as both
failures are not in the same
mirrored set.
Poor. High disk utilization
skew.
Excellent. Expect
near-uniform disk
utilization within a logical
unit. Potential LUN
utilization skew.
Poor. High disk utilization
skew.
Excellent. Low disk
utilization skew. Possible
LUN utilization skew.
Excellent. Low disk
utilization skew. Possible
LUN utilization skew.
Can tolerate up to n disk
failures as long as two
failures do not occur in the
same mirrored set.
Excellent. Low disk
utilization skew.
Possible LUN utilization
skew.
20
Use of Native File Systems
Using file systems for storage can simplify administration tasks, although
potentially at some loss of some performance over using raw disks. It is
recommended that you consult with your storage administrator and storage
vendor.
Operating SystemNative File System
WindowsNTFS
LinuxEXT3
SolarisUFS
®
AIX
HP-UXVxFS
JFS2
Database management for Sterling B2B Integrator
Sterling B2B Integrator uses a database server as a repository for transactional,
reference, and history data that it generates and uses.
Refer to the system requirements for a list of supported database configurations.
This topic covers the following concepts:
v JDBC Connection Pool Overview
v Configuring Parameters for a Database Pool
v Schema Objects
JDBC connection pool overview
Sterling B2B Integrator uses internal connection pooling to minimize delays in the
creation of new connections to the database server. When a connection is
requested, an existing connection is used whenever possible. Internal connection
pooling improves performance by removing the need to go to the driver and
creating and delete a new connection each time one is needed.
Internal connection pooling mechanism implements a connection pool in every
JVM started for the product. In a cluster with multiple nodes, the number of
connections the database must establish is the total of all connections for all the
connection pools.
For example, if you have four JVM instances and each connection pool averages
around 30 connections, your database server must establish 120 database
connections.
16Sterling B2B Integrator: Performance Management
With this implementation, the database reports any idle connections to the system,
which is the expected behavior. JDBC properties can be tuned in the
jdbc.properties file to delete idle connections and minimize usage.
Note: Override the JDBC properties in the customer_overrides.properties file. Do
not modify the jdbc.properties file directly. For more information about the
jdbc.properties file, see the properties file documentation.
Implementation of connection pooling
Each database pool is created with an initial number of connections, as defined by
the initsize property in the jdbc.properties file. As more connections are
required, Sterling B2B Integrator requests additional connections up to the
maximum number defined by the maxsize property. When Sterling B2B Integrator
finishes with a connection, the connection is returned to the pool of connections for
later use.
If Sterling B2B Integrator requires connections beyond the maximum size limit for
each database pool, and every pool is in use, Sterling B2B Integrator can request
new connections up to the value defined by the buffer_size property. Connections
in this “buffer range” (that is, beyond the number of connections that are defined
by the maxsize property) are created as needed, and deleted when the calling
process is completed. To detect this condition, search for warning messages such as
connections exceeded in the noapp.log file. Performance drops if Sterling B2B
Integrator runs in this range for a long time.
The buffer_max value is a hard maximum. When the number of connections that
are defined by buffer_max (maxsize + buffersize) is reached, additional requests
for connections are denied. An error is written to the logs that indicates that the
pool is exhausted and the attempt to create a new connection failed.
Summary
Each JVM can create connections for each of the pools that are defined in the
jdbc.properties file and configured in the customer_overrides.properties file.
Each pool grabs the initial number of connections (initsize) configured.
Because a pool requires additional connections beyond the initial size, it creates
new connections up to the maxsize limit for that pool. Connections that are created
with fewer than the maxsize are returned to that pool for reuse, thus improving
performance.
If a pool is using all the connections up to the maxsize limit, it creates a new
connection as needed within the buffer size limit. Connections beyond maxsize and
below the buffersize are not reused. Each connection is created when needed, and
deleted when no longer needed by the calling process. This method is expensive
and harms performance if Sterling B2B Integrator runs for continued amounts of
time in this state.
When the number of connections (maxsize + buffersize) is reached, new requests
for connections are refused.
You can now manage JDBC pools dynamically. For more information about
dynamically managing JDBC pools, see “Dynamically Manage JDBC Pools” on
page 20.
Performance Management17
Configuring parameters for a database pool
The following table describes the primary parameters of a database pool and the
recommended value for each parameter:
ParameterDescription and recommended value
initsizeWhen a JVM is created and connection pool objects are instantiated
for each of the pools, a call is made to the JDBC driver for each
pool and an initial number of connections are created for each
pool. Connections that are created from the initsize are part of
the connections that exist in the pool for reuse, as needed.
Since various JVMs can load the initial number of connections, but
might not really need them, it is recommended that you do not set
the initsize to a large value.
Default value: 0 or 1
Recommended value: 1
maxsizeMaximum size of the connection pool that pertains to a database
pool. After a connection is created up to this value, it is not
deleted. It remains idle until needed.
BuffersizeMaximum number of connections that can be created. Connections
that are created beyond the maxsize value are created and deleted
as needed.
After all the connections are used (maxsize + buffersize), and a
new request for a connection comes in, the new request is denied,
and an error is written stating that a connection cannot be created
and that the connection pool is exhausted.
maxConnThis parameter is not used in Sterling B2B Integrator.
Frequently asked questions
v Q: How many connections will I need?
A: You can start with the recommended settings provided by the tuning wizard
and then monitor the noapp.log file to ensure that you are not close to the
maximum size of the connection pool (maxsize). Monitor the usage over a
period of time and observe if the usage is increasing. If the usage limits exceed
25% of the settings that are recommended by the tuning wizard and the demand
for connections is increasing, contact the IBM Professional Services onsite
consultant or IBM Customer Support.
v Q: Why are connections shown as being idle?
A: Getting a new connection from the database is expensive. Connections are
held in a pool to be available when the system needs them, which means that
connections are often shown as being idle. This method is a performance
trade-off that enables connections to be available when needed.
v Q: Can I kill idle connections?
A: Configure the pool to keep fewer connections, and release connections after a
specified amount of time.
Schema objects
This topic covers the following concepts:
v Placement of Schema Table Objects
18Sterling B2B Integrator: Performance Management
v Placement of Indexes
v Sterling B2B Integrator Database Tables
Placement of Schema Table Objects
The Sterling B2B Integrator installation guide provides directions about how to
create the database, including the necessary changes to some critical parameters.
The DDL statements allow you to create a simple schema that is suitable for
general use. You need to review, and possibly modify, these statements before
production.
Placement of Indexes
The DDL statements create a minimal set of indexes for general use. You might
need to create more indexes to suit your business needs. Contact IBM Professional
Services or IBM Customer Support to create more indexes. You should also
maintain a list of the indexes added and ensure that they are present after you
upgrade Sterling B2B Integrator and monitor its usage. These indexes may or may
not be added to the Sterling B2B Integrator and is specific to your operating
environment.
You might want to create more table spaces for storing indexes in addition to those
table spaces for the base tables. Table spaces should have multiple data files for
I/O load balancing.
Important: Indexes can also be separated out into different storage areas. This
action should be done in coordination with your database administrator. However,
if you are moving tables to different storage areas, do so only in coordination with
IBM Professional Services to prevent upgrade issue in the future.
Database tables that can substantially grow
The following table lists some of the tables that are defined in Sterling B2B
Integrator experience substantial input, output, and rapid growth.
Table nameTable function
DATA_TABLEThese tables hold the binary payload of documents that
are used for processing within Sterling B2B Integrator.
v DOCUMENT
v CORRELATION_SET
WORKFLOW_CONTEXTContains step status and business process flow
ARCHIVE_INFOHolds lifespan information that pertains to all business
These tables are candidates for moving to a table space or segment that is separate
from the rest of the database.
Contain document metadata that is used for searchability
and enablement of various document processing tasks.
information.
processes and document storage in the system.
Important: Move these tables only in coordination with IBM Professional services.
When patches or upgrades that need to re-create a table are installed, the
installation attempts to create them in the default table space.
Performance Management19
Controlling entries in the CORRELATION_SET table
You can control when correlation entries for different activities of Sterling B2B
Integrator are written to the CORRELATION_SET table. Reducing the number of
records in the CORRELATION_SET table improves the performance of Sterling B2B
Integrator.
The doc_tracking.properties file includes properties that enable or disable
correlation entries for the following activities. The properties are in parentheses.
v Mailbox (makeCorrelationForMailbox)
v FTP (makeCorrelationForFTP)
v SFTP (makeCorrelationForSFTP)
v System tracking extension (makeTrackingExtensions)
The default value for each property is true, which means that correlation entries
are written to the CORRELATION_SET table.
Attention: If makeTrackingExtensions=false, then no mailbox correlation entries
are created, even if makeCorrelationForMailbox=true.
The doc_tracking.properties file is in the install_dir\install\properties
directory.
Dynamically Manage JDBC Pools
Sterling B2B Integrator now has the ability to dynamically add, modify, remove
JDBC Pools and manage JDBC pools with effective dates for passwords.
Adding JDBC Pools:
About this task
This procedure shows how to add JDBC pools using the
customer_overides.properties file.
Procedure
1. In the customer_overrides.properties file, specify the database server name, port
number, database/catalog name, user ID, and password. To encrypt your
database password, use the encrypt_string.sh or encrypt_string.cmd utility in
the bin directory. Then place the encrypted password, prefixed by an
encryption indicator, in the customer_overrides.properties file.
2. To update Sterling B2B Integrator with this new pool information, restart the
application.
Modifying a Database Pool in jdbc.properties:
Procedure
1. In the install_dir/install/properties directory, locate the
customer_overrides.properties file.
2. Open the customer_overrides.properties file in a text editor.
3. Modify the properties you want to change in the customer pools list of
properties.
Note: You can modify any properties for user added pools. For system pools,
you cannot change the database type (for example, Oracle to MSSQL), but you
can change the database type for customer pools.
4. Save the customer_overrides.properties file.
20Sterling B2B Integrator: Performance Management
5. After modifying the pool properties in customer_overrides.properties, go to
JDBC monitor page and click the Refresh JDBC Pools button, or run the
REFRESHJDBC OPS command from the install root directory: ./bin/opscmd.sh
-cREFRESHJDBC -nnode1
Removing Pool from jdbc.properties:
Procedure
1. In the install_dir/install/properties directory, locate the
customer_overrides.properties file.
2. In the customer_overrides.properties file, delete the pool you want to remove.
Note: Verify that all the pool properties are removed for the pool you want to
delete, including, jdbc.properties_*_ext, jdbc_customer.properties,
customer_overrides.properties files and system_overrides.properties.
3. Save the customer_overrides.properties file.
4. After removing the pool properties in customer_overrides.properties, go to
JDBC monitor page and click the Refresh JDBC Pools button, or run the
REFRESHJDBC OPS command from the install root directory: ./bin/opscmd.sh
-cREFRESHJDBC -nnode1
Controlling User and Password Credentials with Effective Dates: You can now
change database passwords on a scheduled basis in Sterling B2B Integrator. When
you add or modify a pool, you now can control user and password credentials
with effective dates. Multiple user and password credentials are associated with a
pool. A date/time entry indicates to Sterling B2B Integrator when to start using
that credential for new connections. This applies primarily to external pools,
although Sterling B2B Integrator database pools will also work.
You can use the following variables for the date format:
v 15:00:00 3/16/09
v 3/16/09 15:00:00
v 3/16/2009 15:00:00
v Sat, 12 Aug 1995 13:30:00 GMT
v Sat, 12 Aug 1995 13:30:00 GMT+0430
Note: Other formats may be used as long as they follow the Internet Engineering
Task Force (IETF) standard date syntax. For additional information, see
http://www.ietf.org/rfc/rfc3339.txt.
Pool PropertyDescription
newDBPool.password.1 =
<new password>
You can specify alphabets and combination of alphabets and
numbers for the password. You can use numbers for
newDBPool.password.1 or newDBPool.password.2 as well as
following examples:
v newDBPool.password.a=password_a
v newDBPool.effective.a=1/01/2005 09:35:00
v newDBPool.password.b=password_b
v newDBPool.effective.b=02/01/2009 09:35:00
v newDBPool.password.c=password_c
v newDBPool.effective.c=06/18/2009 11:07:00
Performance Management21
newDBPool.effective.1 =
<The date for the new
password starts to take
affect>
You can specify alphabets and combination of alphabets and
numbers for the password. You can use numbers for
newDBPool.password.1 or newDBPool.password.2 as well as
following examples:
v newDBPool.password.a=password_a
v newDBPool.effective.a=1/01/2005 09:35:00
v newDBPool.password.b=password_b
v newDBPool.effective.b=02/01/2009 09:35:00
v newDBPool.password.c=password_c
v newDBPool.effective.c=06/18/2009 11:07:00
System Logs and Error Logs: System Logs
When applicable, the following items are logged in system logs:
v Logging the switch from one credential to the next, as well as the initialization
of the pool dates and user IDs being used (not the passwords).
v Logging if the connection is expired when it returns to the pool.
v Logging if two passwords have the same effective dates. In this case, the system
randomly selects a password and log that two passwords had the same effective
dates. Additional logs on passwords and effective dates may be added.
v Logging when pool properties are changed. If you changed the pool related
property like maxSize, or lifespan the following message appears in the system
log: "for pool name ***** <PROPERTY> is changed".
Error Logs
The following list provides descriptions of the different types of errors that can be
logged:
v Failed to add the pool <pool name>
v Failed to delete the pool <pool name>
v Failed to modify the pool <pool name>
v Failed to create the connections from the pool <pool name>
Oracle Database Configuration and Monitoring
This topic provides information about configuring and monitoring Oracle database.
It also provides information about concepts such as init parameter configuration,
rolling back or undoing changes to the database, database storage, and monitoring
with Automatic Workload Repository (AWR) reports.
Oracle init parameter configuration checklist
The Oracle init parameters have mandatory and recommended settings for Sterling
B2B Integrator performance with an Oracle database.
Mandatory Oracle init parameters:
The Oracle init parameters have mandatory settings for Sterling B2B Integrator
performance with an Oracle database.
ParameterMandatory value
cursor_sharingExact
Character setAL32UTF8
22Sterling B2B Integrator: Performance Management
Recommended Oracle init parameters:
The Oracle init parameters have recommended settings for Sterling B2B Integrator
performance with an Oracle database.
ParameterRecommended value
processesMust be greater than the number of connections that are
required by Sterling B2B Integrator (sum of transactional or
local and NoTrans pools in the jdbc.properties file), and
operational management tools.
v sga_max_size
v sga_target
v pga_aggregate_target
timed_statisticsTrue
optimizer_modeAll_rows
open_cursors2000 or higher if prepared statement caching is to be used.
1 GB to n GB, depending on the amount of physical
memory on your database server. If the server is running
only this database, up to 80% of physical memory.
To size SGA (Shared Global Area) pools automatically, see
“SGA pool sizing” on page 25.
Oracle init parameter descriptions:
The Oracle init parameters have mandatory and recommended settings for the
performance of Sterling B2B Integrator with an Oracle database.
ParameterDescription
Number of processesMaximum number of processes that the Oracle server can create.
Each inbound connection from a client requires an available
process on the Oracle serverand internal processes that run in the
Oracle server itself.
This setting needs to be set high enough to accommodate the
expected peak connections from Sterling B2B Integrator as well as
additional processes for internal server processes plus the possible
usage of buffer connections from the Sterling B2B Integrator pools.
Note that the expected peak connections from Sterling B2B
Integrator are per node, and this number should be multiplied by
the number of nodes in a cluster.
Important: Exceeding the allocated processes can destabilize the
entire Oracle server and cause unpredictable issues.
Normally, the Sterling B2B Integrator logs a report if this has
occurred, by logging an “ORA-00020 maximum number of
processes exceeded” error.
Performance Management23
ParameterDescription
open_cursorsNumber of cursors that the Oracle server can create. Each process
that is servicing a connection will normally spawn two or more
cursors, plus additional cursors that are needed for internal server
processes.
As with the processes, this needs to be set high enough to
accommodate the expected peak connections, multiplied by two,
plus an allocation for possible buffer connections. This should also
be multiplied by the number of nodes in the cluster.
A simple rule of thumb is to set this to four times the number of
processes, four times the number of nodes of Sterling B2B
Integrator, plus an additional 10%.
If the number of cursors is exceeded, Sterling B2B Integrator logs
“ORA-01000: maximum open cursors exceeded.”
Character SetControls the storage of character data in the Oracle database. The
UTF8 set most closely matches the default character set for Java
and will prevent any conversion of character data.
AL32UTF8 is the preferred setting for Oracle database.
cursor_sharingControls whether SQL sent from a client is reparsed each time, or
if the server can reuse (“share”) the complied plan.
Sterling B2B Integrator requires the setting to be “exact” for both
performance and data integrity.
sga_max_sizeMaximum size of the memory allocated to the System Global Area
(SGA). This controls the maximum memory that can be allocated
to the system area of the Oracle instance. The size of the SGA
should never exceed the size of the actual memory (RAM) installed
on the server.
A rule of thumb is that the SGA maximum size should be allotted
as much memory as possible, but should not exceed 80% of the
total memory of the server.
sga_max_targetTarget value that Oracle uses for automatic allocation of SGA pool
resources.
Recommended setting is equal to the sga_max_size. The exception
is for extremely large databases, where this may need to be
adjusted manually.
pga_aggregate_targetSpecifies the target aggregate Program Global Area memory
available to all server processes attached to the Oracle instance.
These are normally internal Oracle processes, and are not used by
clients connecting to the instance.
Recommended setting is a non-zero value. This allows the Oracle
instance to size the SQL working areas automatically as needed.
timed_statisticsControls whether database statistics for particular times are logged
by Oracle. This information may be useful to monitor system or
application performance.
Setting timed_statistics to TRUE may incur a slight overall load
increase on the Oracle instance. However, the information it creates
is valuable for diagnosing issues with performance of the instance.
24Sterling B2B Integrator: Performance Management
Loading...
+ 232 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.