Performance Tuning Guide - EMC Community Network

Performance Tuning Guide - EMC Community Network Performance Tuning Guide - EMC Community Network

community.emc.com
from community.emc.com More from this publisher
28.11.2014 Views

Measuring Performance 9 Unique Object Types Fetched 58 Total Objects Fetched Fetches Type 1 rim7_record 1 dm_sysobject 1 dmc_wfsd_rim_sdt 23 dmc_wfsd_element_string 3 dmc_wfsd_type_info 1 dm_process 25 dmc_wfsd_element_parent 1 dmc_wfsd_element_integer 2 dm_activity ****** Total number of iscurrent calls per type ***** 11 Unique Object Types IsCurrent Called 147 Total IsCurrent Calls Fetches Type 23 dmc_wfsd_type_info 1 dmc_wfsd_rim_sdt 22 dm_activity 3 rim7_record 21 dm_process 27 dm_workflow 1 dm_relation 3 dmi_package 15 dmi_queue_item 1 dm_user 30 dmi_workitem The report shows 25 parent objects being fetched (dmc_wfsd_element_string) along with 23 string process variables (dmc_wfsd_element_string) and 1 integer process variable (dmc_wfsd_element_integer), for a total of 49 fetches. Consolidating the 23 string process variables and 1 integer process variable into one SDT reduces the number of fetches by 46. Analyzing query results processing Query results processing adversely impacts performance as the result set size and query usage increase. Analyze this issue by inspecting the raw DFC trace files. Look for the following type of call sequence: ... EXEC_QUERY RPC, e.g. select r_object_id from … MultiNext RPC (gets up to 50 results) SysObjectFullFetch (fist object) SysObjectFullFetch (2nd object) SysObjectFullFetch (3nd object) ... Figure 29, page 77 shows how service times grow when using query and fetch instead of query and collection. Note: There can be situations where you cannot query and fetch code pattern. 76 EMC Documentum xCP 1.0 Performance Tuning Guide

Measuring Performance Figure 29. Result set sizes and service times Change the application code to use collections instead of multiple fetches. For example, replace retrievals with select r_object_id, attr1, attr2, … from … and replace updates with update type … set attr1=…, set attr2=…, where …. Analyzing many small RPC calls For many small queries, run a histogram of trace data using the trace_rpc_histD6.awk script (Figure 30, page 78). Focus your attention on high yield RPCs (highlighted rows in Figure 30, page 78). Maximizing query yield, page 36 provides information on maximizing your query yield. The trace_rpc_histD6.awk script is available on the EMC Community Network (https://community.emc.com/docs/DOC-6355) EMC Documentum xCP 1.0 Performance Tuning Guide 77

Measuring <strong>Performance</strong><br />

9 Unique Object Types Fetched<br />

58 Total Objects Fetched<br />

Fetches Type<br />

1 rim7_record<br />

1 dm_sysobject<br />

1 dmc_wfsd_rim_sdt<br />

23 dmc_wfsd_element_string<br />

3 dmc_wfsd_type_info<br />

1 dm_process<br />

25 dmc_wfsd_element_parent<br />

1 dmc_wfsd_element_integer<br />

2 dm_activity<br />

****** Total number of iscurrent calls per type *****<br />

11 Unique Object Types IsCurrent Called<br />

147 Total IsCurrent Calls<br />

Fetches Type<br />

23 dmc_wfsd_type_info<br />

1 dmc_wfsd_rim_sdt<br />

22 dm_activity<br />

3 rim7_record<br />

21 dm_process<br />

27 dm_workflow<br />

1 dm_relation<br />

3 dmi_package<br />

15 dmi_queue_item<br />

1 dm_user<br />

30 dmi_workitem<br />

The report shows 25 parent objects being fetched (dmc_wfsd_element_string) along with<br />

23 string process variables (dmc_wfsd_element_string) and 1 integer process variable<br />

(dmc_wfsd_element_integer), for a total of 49 fetches. Consolidating the 23 string process<br />

variables and 1 integer process variable into one SDT reduces the number of fetches by 46.<br />

Analyzing query results processing<br />

Query results processing adversely impacts performance as the result set size and query usage<br />

increase. Analyze this issue by inspecting the raw DFC trace files. Look for the following type<br />

of call sequence:<br />

...<br />

EXEC_QUERY RPC, e.g. select r_object_id from …<br />

MultiNext RPC (gets up to 50 results)<br />

SysObjectFullFetch (fist object)<br />

SysObjectFullFetch (2nd object)<br />

SysObjectFullFetch (3nd object)<br />

...<br />

Figure 29, page 77 shows how service times grow when using query and fetch instead of query<br />

and collection.<br />

Note: There can be situations where you cannot query and fetch code pattern.<br />

76 <strong>EMC</strong> Documentum xCP 1.0 <strong>Performance</strong> <strong>Tuning</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!