OTM Performance OTM Users Conference 2015 Jim Mooney Vice President, Product Development August 11, 2015 1
Program Agenda 1 2 3 4 5 Scalability Refresher General Performance Tips Targeted Tips by Product Area OTM Performance Tools / Resources Q&A 2
<Insert Picture Here> Scalability Refresher
Scalable Configuration: Start Small Combined Web and App Server (Including Integration) DB and Reports Server
Scalable Configuration: And Grow Larger Web Tier External Load Balanced Cluster Application Server / Reports OTM Managed Cluster Database Oracle RAC
Work Routing Weighted Routing High Scalability 1 default cluster with n active servers Also known as Active- Active DEFAULT Cluster OTM Webserver Instance 1/2 1/2 OTM Appserver Instance OTM Appserver Instance
Work Routing Weighted Routing Domain Separation 1 default cluster with n active servers DEFAULT Cluster m domain clusters, each dedicated to a specified domain and with 1 active server OTM Webserver Instance Other Users BRAND_A Cluster 1/2 1/2 OTM Appserver Instance OTM Appserver Instance Brand A User OTM Appserver Instance
Work Routing Weighted Routing Functional Separation 1 default cluster with n active servers DEFAULT Cluster m functional clusters, each dedicated to a specified set of functions and with 1 active server Other Work 1/2 1/2 OTM Appserver Instance OTM Appserver Instance OTM Webserver Instance Sceduled or Ad-hoc Bulk Plans BULKPLAN Cluster OTM Appserver Instance
Scalability Recommendations Failover server is underutilized hardware avoid if possible SCA adds overhead like most HA technologies, so: Avoid too many app servers Consider increasing memory and cpu first 2-4 app servers is standard. More than that is not usual. SCA servers need to be on the same LAN Not to be used across WAN Same requirement as RAC
<Insert Picture Here> General Performance Tips
6.X General Performance Tips Install all recommended patches Oracle Support Document 1081306.1 (OTM Recommended Patch List for 6.x) can be found at: https://support.oracle.com/epmos/faces/documentdisplay?id=1081306.1 Turn off all logging Analyze the DB using OTM supplied script New DB supplied script may be used But make sure you monitor the coverage Purge and Archive Data Two years is a reasonable amount of data for OTM/GTM This will obviously vary by volume, company, etc
6.X General Performance Tips - continued Use our partitioning for the I_ tables This is default behavior in 6.3 We still see customers not using partitioning though Setup threads / caches to match your processing Don t just set them all high Default values are typical to low Our diagnostic servlets and AWR will help you set these Adjust heap memory on web and app Described in admin manual Default values are likely too low for large customers Don t set higher than half your available memory
6.X General Performance Tips - continued Only include data that OTM uses/needs Especially true for lines, shipunits, items etc Not just a volume issue, but could affect screens, bulkplans, etc Make sure object lock table is getting cleaned up Default behavior is recommended Only use BNG if needed Single threads operations Also described in Admin manual Tune the Database central to OTM Performance See admin guide for suggestions
Newer Performance / Stability Features SQL Timeout Can vary settings by type: UI, Agent update, Agent Pl/SQL Set these more aggressively than defaults Glog.sql.* properties HTTP / SMTP Timeout Similar to SQL timeout Configure a timeout for emails / posts out of OTM Glog.mail.* properties SQL Tagging Figure out who / where that long running query came from Glog.sql.* properties 14
Defaults for SQL Timeout 15
Oracle In-Memory Transportation Management Dispatchers perform real-time monitoring and rerouting when en-route exceptions occur Benefits of instant rerouting: Reduction in empty miles and in Driver turnaround time Improved on-time delivery 1030X Faster Improved Dispatcher efficiency and Driver retention 145M Status Records 60M Shipment Data Records 16K Drivers From 16 Min to Sub-second
<Insert Picture Here> Targeted Tips by Product Area
Bulk Plan Performance Tuning New Bulk Plan Performance and Tuning Section Added to Help A new Bulk Plan Performance and Tuning section has been added to the set of topics covered in the How To/Configuration Topics section of Help. The new information provides the user with an excellent overview of the bulk planning process and includes information for: Solution quality tuning Performance tuning Diagnostics Threads, heap memory and Caches should be first Bulk Plan Milestones should be reviewed for time Then use help to tune logic parameters
Workflow / Agent Performance Tuning One agent working on an object should be the goal Multiple agents can cause locking / deadlocking Can also cause confusion Consider separate thread groups for long running processes Launch in a separate process, when applicable Useful for loops and long running Almost mandatory for scheduled processes with saved queries PL/SQL should be short running from an agent
Workflow / Agent Performance Tuning (continued) Direct SQL Update Default behavior DML Refresh intelligent cache refresh Otherwise refreshes entire Business Object Tree (I.e. Shipment, Stop, Ship Unit, etc.) Enable Parse SQL option to increase performance by only refreshing objects updated by SQL Use Do Not Refresh when performing multiple updates to the same object within one Agent Also Check otm analyzer for direct sql to fix common mistakes Review log files for errors and correct them
Integration Performance Tuning Use the correct XML Element Actual Shipment is a heavy, process intensive integration If only updating refnums, remarks use GenericStatusUpdate OutXMLProfile for Integration Tuning Use OutXMLProfile to reduce size of outbound XML Use GLOG_MIN with required additional elements specified to avoid addition of new XML elements during upgrades Increases performance dramatically by eliminating unnecessary data queries and XML processing Read about integration data queues before configuring
User Interface Performance Tuning Check Admin Guide for tech settings Sessions in web server OHS Settings Screen Sets (Query Results) Consider reducing number of rows and columns per screen Use the new timeout settings Use VPD External Predicates wisely Manager Layouts Reducing Fields and tabs / grids will help performance Limit drop downs from potentially large tables Avoid Exporting large number of records via UI
<Insert Picture Here> OTM Performance Tools / Resources
OTM Diagnostics Menu Oracle Confidential Internal/Restricted/Highly Restricted 24
Oracle Confidential Internal/Restricted/Highly Restricted 25
Three Key MOS Notes re OTM Performance Oracle Support Document 1401155.2 (Information Center: Oracle Transportation Management) can be found at: https://support.oracle.com/epmos/faces/documentdisplay?id=1401155.2 Oracle Support Document 1579683.1 (OTM Analyzer script for Analysis and Performance Monitoring ) can be found at: https://support.oracle.com/epmos/faces/documentdisplay?id=1579683.1 Oracle Support Document 887885.1 (What to Collect When Performance Problems Start to Exist in OTM?) can be found at: https://support.oracle.com/epmos/faces/documentdisplay?id=887885.1 Oracle Confidential Internal/Restricted/Highly Restricted 26
Oracle Confidential Internal/Restricted/Highly Restricted 27
Oracle Confidential Internal/Restricted/Highly Restricted 28
Oracle Confidential Internal/Restricted/Highly Restricted 29
Questions? Copyright 2015 Oracle and/or its affiliates. All rights reserved. 30
31