28.11.2014 Views

Performance Tuning Guide - EMC Community Network

Performance Tuning Guide - EMC Community Network

Performance Tuning Guide - EMC Community Network

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Analyzing large queries<br />

Collect the trace data and convert it to a Microsoft Excel friendly format using the<br />

traceD6.awk script. The traceD6.awk script is available on the <strong>EMC</strong> <strong>Community</strong> <strong>Network</strong><br />

(https://community.emc.com/docs/DOC-6355).<br />

Analyze the histogram report (Figure 28, page 75). Large queries are easy to identify.<br />

Figure 28. Large query trace<br />

****** TRACE_RPC_HIST (D6 VERSION) ****<br />

DURATION (secs): 15.781<br />

TIME SPENT EXECUTING RPCs (secs): 13.620 (which is 86.31 percent of total time)<br />

Threads : 2<br />

Connections : 1<br />

****** PROFILE OF rpc CALLS *****<br />

CALL YIELD % OF TOTAL AVERAGE TIME # OF<br />

TIME (secs) RPC TIME PER RPC (secs) CALLS RPC NAME<br />

0.006 0.0 0.006 1 closeCollection<br />

0.883 6.5 0.009 100 ObjGetXPermit<br />

7.981 58.6 0.319 25 EXEC_QUERY<br />

0.247 1.8 0.002 100 ObjGetPermit<br />

1.868 13.7 0.081 23 multiNext<br />

2.635 19.3 0.026 101 SysObjFullFetch<br />

**** QUERY RESPONSE SORTED IN DESCENDING ORDER ****<br />

qry rsp query<br />

3.511 select parent_id, count(parent_id) as rendition_count from dmr_content where<br />

( ANY parent_id IN ('0902218e808a0731',...,'0902218e8010df71') and rendition != 0)<br />

group by parent_id<br />

3.237 select parent_id, count(parent_id) as rendition_count from dmr_content where<br />

( ANY parent_id IN ('0902218e8010db86',...,'0902218e800df391') and rendition != 0)<br />

group by parent_id<br />

0.261 select headline,caption,source,r_object_id from cch_photo (all) where<br />

r_object_id IN ('0902218e808a0731',...,'0902218e800df391')<br />

...<br />

From the trace, you can see that it takes 6.748 seconds to execute the one query twice with different<br />

IDs. These two query executions, with runtimes of 3.511 seconds and 3.237 seconds, account for 85%<br />

of the 7.981 seconds spent on all queries, 50% of the 13.620 seconds spent executing RPCs, and 42% of<br />

the entire transaction time.<br />

Analyzing process variable usage (measuring fetches)<br />

Assess the number of object fetches in your application by running a DFC trace.<br />

Use the object_breakdown.awk script, available on <strong>EMC</strong> <strong>Community</strong> <strong>Network</strong><br />

(https://community.emc.com/docs/DOC-6355), to produce a report that breaks down the types of<br />

object fetches. The following provides a sample output of the object_breakdown.awk script:<br />

****** Total number of object fetches per type *****<br />

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

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

Saved successfully!

Ooh no, something went wrong!