OTM's default behavior is to process integration in parallel, if it is posted in parallel. By this, I mean that each XML file is a separate HTTP post from the integration server. However, if several XML files are sent to the OTM server in one long post, then they should be processed in serial.
If you absolutely need your posts to be processed in serial (for instance, the order of status updates matters - you can't process a signature event until a delivery event has occurred - or something similar), then you can utilize OTM thread groups - which provide this functionality. However, I strongly recommend trying to solve this issue on the integration server, rather than in OTM for best performance and scalability.
If this is a QA or DEV server, then I agree with reducing the DB Pool size (the PRIMARY_JTS Pool, specifically). If this is production, then I'd recommend leaving the defaults (100 minimum, 150 maximum) because as your users and integration ramp up, you'll see much higher usage from this pool. I was one of the people at G-Log who came up with this minimum value after a lot of performance testing, so maybe I'm a bit biased

There are various thread groups in OTM that need to be tuned for greater performance - this is one of the tasks I do most for our clients. You can view the various thread groups and their current status by using the following servlet:Tuning OTM is a fairly complex process, though and usually involves the following (in this order):
- Generate a load against the servers that represents your production traffic well (web users, integration, bulk plans, etc). Good free tools for achieving this are JMeter, Perl, Ruby and Python.
- Tune the OS on all OTM and DB servers (web, app, report, db).
- Tune the DB as much as possible, including storage. This is the most common OTM bottleneck.
- Tune the Java JVM on each OTM server (web, app) including heap size and garbage-collection parameters.
- Tune WebLogic on the OTM app server.
- Tune the OTM internal threads and queues.
- Repeat as necessary - it usually involves multiple iterations, especially as volumes increase.
--Chris
Leave a comment: