Presentation is loading. Please wait.

Presentation is loading. Please wait.

A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Hidden Cost of Workflow Gary Piper AUSOUGSydney August 2005.

Similar presentations


Presentation on theme: "A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Hidden Cost of Workflow Gary Piper AUSOUGSydney August 2005."— Presentation transcript:

1 A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Hidden Cost of Workflow Gary Piper AUSOUGSydney August 2005

2 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Agenda…  Two issues  Workflow load balancing (Cost)  Purging obsolete workflow items  Symptoms:  Workflow background process runs every 5 min 24*7  Poor performance from workflow and workflow & background engine performance degrading over time  Actions:  Establish Cause  Purging - What and How

3 A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Theory…  “Real-time” Workflow load is managed by identifying costly activities / processes, so that when they are encountered by the workflow engine they are immediately given a “deferred” status and the workflow engine continues processing the next activity. The deferred processes are then processed by a Workflow Background Process which can be run at an appropriate time. XX

4 A New Approach to Managing Oracle E-Business Suite PIPER-Rx What Actually Happens…  The background process is run more frequently than is “required”  Every 3 – 5 min 24 * 7  Every 15 min 24 * 7  What is actually being deferred?  Should the activity be deferred ( Business decision )  If an activity is required to be processed immediately  Assess why the activity is so urgent  Don’t run a regular background process to clear the item ( fixes the symptom )  Don’t allow the items to become deferred in the first place ( fix the cause )

5 A New Approach to Managing Oracle E-Business Suite PIPER-Rx What's In a Cost…  Each workflow activity has an associated cost.  The “Cost” value represents the number of seconds it should take to execute the activity.  Generally when workflows are created, the cost is estimated or ignored.  Cost is both entered and displayed in seconds. The value stored in the database wf_activities.cost is in hundredths of a second  The default threshold for the Workflow Engine is 50 hundredths of a second. Activities with a cost higher than this are deferred and are run by the Workflow Background process  In a perfect world when sufficient runtime information is available, a Cost Vs Actual review should be completed This rarely happens

6 A New Approach to Managing Oracle E-Business Suite PIPER-Rx How can this occur…

7 A New Approach to Managing Oracle E-Business Suite PIPER-Rx How can this occur…

8 A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Basic Cause… Workflow Definition (Clone) Workflow Background Process Definition Over the wall Cost is rarely defined and set Activity must be process immediately Functional Team Technical Team Cost Reviews Functional Changes

9 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Assess the Damage…  Frequency of execution  Purging Obsolete Workflow Runtime Data  Is it running into itself  Frequency of execution Vs run time  Restart from beginning of prior run?  Workflow Background Process Example: (15 min 24 * 7)

10 A New Approach to Managing Oracle E-Business Suite PIPER-Rx So What is Being Processed…  How much is being processed?  State change is overwritten, so there for little audibility  Monitor by “Select count” of Deferred items type every n minutes  Look at the runtime of the BG process to identify peaks Toad E-Business suite Plug-in (Beta)

11 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Review Actual Vs Execution Times… SELECT wa.item_type "Item Type", substr(witt.display_name,1,40) "Display Name", wa.name, wa.version, count(*) "Executions", wa.cost "Intenal", wa.cost / 100 "Cost (Sec)", round(min(( wias.end_date - wias.begin_date )*86400),0) "Min (Sec)", round(avg(( wias.end_date - wias.begin_date )*86400),0) "Avg (Sec)", round(max(( wias.end_date - wias.begin_date )*86400),0) "Max (Sec)" FROM wf_activities wa, wf_item_types_tl witt, wf_item_activity_statuses wias WHERE wa.item_type = wias.item_type(+) and wa.item_type = witt.name and witt.language = userenv('LANG') and wa.cost > 50 and sysdate between wa.begin_date and nvl(wa.end_date, sysdate + 1) GROUP BY wa.item_type, witt.display_name, wa.name, wa.version, wa.cost ORDER BY wa.cost DESC; Item Typ Display Name NAME VERSION Executions Intenal Cost (Sec) Min (Sec) Avg (Sec) Max(Sec) MSCEXPWF MSC: ASCP Exception Messages PROCESS RESPONSE POAPPRV PO Approval MASS_UPDATE_RELEASES POAPPRV PO Approval NOOP POAPPRV PO Approval PLACE_SOURCING_INFO_ON_REQ REQAPPRV PO Requisition Approval NOOP Note: Paper attendance required to interpret this output

12 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow…  Issue:  Client site in a constant state of performance issues for past year  Technical DBA constantly monitoring CPU and I/O usage and looking for resource hogs  Current Activity:  Technical DBA reviewing tools to identify CPU and I/O bottlenecks  A Capex is in place for hardware, fewer faster CPU’s (4 – 2)  Background:  Technical DBA’s has limited E-Business Suite experience running the application

13 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Concurrent Manager Activity Profile Charts reproduced with permission of PIPER-Rx 15,000 Requests per day

14 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Concurrent Program Total Per day Per Hr Per Min Workflow Background Process210,09110, Process transaction interface23,9401, Cost Manager ( BOM )41,5391, Event Log4, Data Load3, Interface Cleanup ( Custom )2, Interface trip Stop4, WIP Move Transaction Manager4, Import Items3, Set2, Set Stage4, Receiving Transaction Processor1, Material cost transaction worker ,000 Requests per day 93.4% of all concurrent manager activity Concurrent Request Activity (21 Days)

15 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Actual Vs User Activity (estimated) Graphs reproduced with permission of PIPER-Rx

16 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Actual User Activity by Hour of Day Graphs reproduced with permission of PIPER-Rx

17 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Concurrent Manager Activity (Adjusted) Graphs reproduced with permission of PIPER-Rx

18 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Case Study - Workflow… Revealing the “real” Activity profile Graphs reproduced with permission of PIPER-Rx

19 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Purging… PURGING

20 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Purging Obsolete Workflow Runtime Data…  Argument set:  Item Type - leave this value blank to purge all item types  Beware: Insufficient resources to purge all  Warning:  Workflow Purge will only purge items that have been defined with a persistence of TEMPORARY and the number of persistence days have expired. A workflow with a persistence of Permanent will never be purged by the default purge settings

21 A New Approach to Managing Oracle E-Business Suite PIPER-Rx So What Is Purgable… Persistence Persistence Work Flow Work Flow Display Name WF Item Type Type Days Count Purgable CSM Type 3 CSMTYPE3 TEMP FA Account Generator FAFLEXWF PERM PA: HR Related Updates Workflow PAXWFHRU TEMP AR: Substitute Balancing Segment ARSBALSG PERM OM Order Line OEOL TEMP PO Approval POAPPRV TEMP Planning Exception Messages MRPEXPWF TEMP System: Error WFERROR TEMP …………………….. SELECT witt.display_name A, wit.name B, wit.persistence_type C, wit.persistence_days D, count(wi.item_key) E, apps.wf_purge.getpurgeablecount(wit.name) F  Secret weapon FROM wf_item_types wit, wf_item_types_tl witt, wf_items wi WHERE wit.name = witt.name and witt.language = userenv('LANG') and wit.name = wi.item_type GROUP BY witt.display_name, wit.name, wit.persistence_type, wit.persistence_days ORDER BY count(wi.item_key) DESC; Note: Column formatting not shown

22 A New Approach to Managing Oracle E-Business Suite PIPER-Rx So What Is Purgable… Toad E-Business suite Plug-in (Beta)

23 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Purging…  Warning:  wf_item_attribute_values (up to 5:1)  wf_notifications  Gather Schema Statistics  Index Rebuilds

24 A New Approach to Managing Oracle E-Business Suite PIPER-Rx State of the Indexes… Index Name index Row Count Table Row Count Last Anal last Analyzed (days) PAR WF_ITEM_ACTIVITY_STATUSES_N APR NO WF_ITEM_ACTIVITY_STATUSES_N JUN NO WF_ITEM_ACTIVITY_STATUSES_N JUN NO WF_ITEM_ACTIVITY_STATUSES_N JUN NO WF_ITEM_ACTIVITY_STATUSES_PK JUN YES  WF_ITEM_ATTRIBUTE_VALUES_PK JUN NO SELECT index_name "Index Name", num_rows "index Row Count", decode(table_name, 'WF_ITEM_ACTIVITY_STATUSES',count_statuses.count, 'WF_ITEM_ATTRIBUTE_VALUES', count_values.count, null) "Table Row Count", last_analyzed "Last Analysed", trunc(sysdate - last_analyzed) "last Analyzed (days)", partitioned FROM dba_indexes, (SELECT count(*) count FROM WF_ITEM_ACTIVITY_STATUSES ) count_statuses, (SELECT count(*) count FROM WF_ITEM_ATTRIBUTE_VALUES ) count_values WHERE table_owner = 'APPLSYS' and table_name in ('WF_ITEM_ATTRIBUTE_VALUES', 'WF_ACTIVITY_ATTR_VALUES', 'WF_ACTIVITY_TRANSITIONS', 'WF_ITEM_ACTIVITY_STATUSES', 'WF_ITEM_ACTIVITY_STATUSES_H', 'WF_PROCESS_ACTIVITIES', 'WF_NOTIFICATIONS') and index_type = 'NORMAL' ORDER BY table_name, index_name;

25 A New Approach to Managing Oracle E-Business Suite PIPER-Rx Questions… Questions? Disclaimer: All material contained in this document is provided by the author "as is" and any express or implied warranties, including, but not limited to, any implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of any content or information, even if advised of the possibility of such damage. It is always recommended that you seek independent, professional advice before implementing any ideas or changes to ensure that they are appropriate

26 A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Hidden Cost of Workflow Gary Piper AUSOUGSydney August 2005


Download ppt "A New Approach to Managing Oracle E-Business Suite PIPER-Rx The Hidden Cost of Workflow Gary Piper AUSOUGSydney August 2005."

Similar presentations


Ads by Google