Inside EMC Documentum - PowerPoint PPT Presentation

About This Presentation
Title:

Inside EMC Documentum

Description:

Inside EMC Documentum Performance Tuning D6 Who am I? Independent Consultant 8+ years working with Documentum Specialise in performance analysis and tuning Inside ... – PowerPoint PPT presentation

Number of Views:187
Avg rating:3.0/5.0
Slides: 24
Provided by: dct60
Category:
Tags: emc | documentum | inside

less

Transcript and Presenter's Notes

Title: Inside EMC Documentum


1
Inside EMC Documentum
  • Performance Tuning D6

2
Who am I?
  • Independent Consultant
  • 8 years working with Documentum
  • Specialise in performance analysis and tuning
  • Inside Documentum blog
  • http//robineast.wordpress.com
  • Xense Profiler Documentum Performance Profiler
  • http//www.xense.co.uk/xense_profiler_start.htm

3
Overview
  • Key Architectural Changes in D6
  • DFC and DMCL
  • DFC Tracing in D6
  • Performance Tuning with DFC trace

4
Key Architectural Changes in D6
  • Native DMCL replaced with Java DMCL
  • Documentum Foundation Services (DFS)
  • Write-caching in BOCS
  • Loads more

5
A Short History of the DMCL (1)
6
A Short History of the DMCL (2)
7
D6 - DFC
8
A Short History of the DMCL (3)
9
DFC Tracing in D6
  • DMCL Tracing
  • Simple Invocation
  • Flat structure
  • Analysis tools available
  • Problems with tracing in Multi-Threaded
    environments
  • DFC Trace
  • Many different parameters
  • Stack structure
  • Few tools available
  • Improved tracing facilities in Multi-Threaded
    environments

10
Trace Invocation - Parameters
  • DMCL had 2 parameters (trace_level and
    trace_file)
  • DFC has 24 parameters
  • dfc.tracing.enabletrue
  • turns on tracing and is the only required
    parameter
  • dfc.tracing.user_name_filter
  • Target a specific user
  • dfc.tracing.mode
  • compact or standard
  • dfc.tracing.include_rpc_count and
    dfc.tracing.include_rpcs
  • dfc.tracing.dir (tracing location)
  • use different directories for different
    applications
  • Other tracing parameters are listed in the
    Content Server Administration Guide

11
Trace Invocation How-To
  • Enter DFC tracing parameters into dfc.properties
    file
  • DFC runtime will pick up the new parameters
    automatically
  • Old methods
  • DA API
  • WDK api tester
  • http//lthostgtltportgt/ltappgt/wdk/traceDMCL.jsp
  • Resource Management in DA
  • Dont forget to switch off tracing afterwards!

12
DFC Trace example
  • 7011.547 0.000 N/A
    http-8080-Processor25 com.documentum.com.DfClien
    tX_at_18c022c.getQuery() gt com.documentum.fc.client
    .IDfQuery_at_1dd1a31
  • 7011.547 0.000 N/A
    http-8080-Processor25 com.documentum.fc.client.D
    fQuery_at_1dd1a31.setDQL("select state_name,type_over
    ride_id from dm_policy where r_object_id
    '0000000000000000' ") gt ltvoidgt
  • 7011.547 0.000 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.client.D
    fAdminSessionManager_at_1d66aa9.getSession("d6test2")
    gt com.documentum.fc.client.IDfSession_at_e29127
  • 7011.547 0.000 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.client.i
    mpl.session.SessionHandle_at_e29127.getSessionId()
    gt "s1"
  • 7011.547 0.000 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.client.i
    mpl.session.SessionManager_at_1d66aa9.release(com.doc
    umentum.fc.client.impl.session.StrongSessionHandle
    _at_e29127) gt ltvoidgt

13
DFC Trace Example (cont.)
  • 7011.547 1.325 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.client.D
    fQuery_at_1dd1a31.execute(com.documentum.fc.client.im
    pl.session.StrongSessionHandle_at_6f14d6,0) gt
    com.documentum.fc.client.IDfCollection_at_a7a434
  • 7012.872 0.000 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.clie
    nt.impl.collection.CollectionHandle_at_a7a434.next()
    gt false
  • 7012.872 0.000 ltdmadmingt
    http-8080-Processor25 com.documentum.fc.clie
    nt.impl.collection.CollectionHandle_at_a7a434.close()
    gt ltvoidgt

14
Measuring Performance
When you can measure what you are speaking about,
and express it in numbers, you know something
about it but when you cannot measure it, when
you cannot express it in numbers, your knowledge
is of a meager and unsatisfactory kind it may be
the beginning of knowledge, but you have
scarcely, in your thoughts, advanced to the state
of science. Lord Kelvin
15
Analysing DFC Trace
  • Even simple tracing scenarios usually produce
    large trace files
  • Analysis tools needed
  • EMC Documentum provided tools
  • Xense DFC analysis scripts
  • http//www.xense.co.uk/dfc_profiler_start.htm
  • Build you own

16
Xense DFC Trace Analysis Example 1
  • Top 5 DFC Calls

Duration Secs DFC Call Call Details
67.790 com.documentum.fc.client.DfQuery_at_1c2f20c.execute select distinct r_object_id, media_type, object_name, r_object_type, publication_name, description, language_translated, document_id from bus_docs where any location in ('GHR014', 'GHR014', 'GHR000') and r_current_state'2'
67.650 com.documentum.fc.client.DfQuery_at_1cdc507.execute select distinct r_object_id, media_type, object_name, r_object_type, publication_name, description, language_translated, document_id from bus_docs where any location in ('GHR014', 'GHR014', 'GHR01416', 'GHR000') and r_current_state'2'
67.618 com.documentum.fc.client.DfQuery_at_1c2e31d.execute select distinct r_object_id, media_type, object_name, r_object_type, publication_name, description, language_translated, document_id from bus_docs where any location in ('GHR014', 'GHR01444', 'GHR0145', 'GHR0146', 'GHR000') and r_current_state'2'
67.603 com.documentum.fc.client.DfQuery_at_5422acd.execute select distinct r_object_id, media_type, object_name, r_object_type, publication_name, description, language_translated, document_id from bus_docs where any location in ('GHR014', 'GHR014', 'GHR01416', 'GHR01426') and r_current_state'2'
67.368 com.documentum.fc.client.DfQuery_at_1b248c8.execute select distinct r_object_id, media_type, object_name, r_object_type, publication_name, description, language_translated, document_id from bus_docs where any location in ('GHR014', 'GHR0145', 'GHR0146', 'GHR000') and r_current_state'2'
17
Xense DFC Trace Analysis Example 2
  • Top 5 DFC Calls

Duration Secs DFC Call Call Details
0.273 com.documentum.fc.client.impl.session.SessionHandle_at_14b9eeb.getFolderByPath() /dmadmin
0.234 com.documentum.fc.client.DfAdminSessionManager_at_1d66aa9.getSession()
0.184 com.documentum.fc.client.DfQuery_at_1c2e31d.execute() select r_object_id, r_version_label, i_position from dm_sysobject (all) where i_chronicle_id (0903303480001116)
0.116 com.documentum.fc.client.impl.collection.CollectionHandle_at_1a13047.next() select r_object_id, r_version_label, i_position from dm_sysobject (all) where i_chronicle_id (0903303480001116)
0.107 com.documentum.fc.client.impl.collection.CollectionHandle_at_1a13047.next() select r_object_id, r_version_label, i_position from dm_sysobject (all) where i_chronicle_id (0903303480001116)
18
Example 2 - continued
  • Top 5 Queries

Duration Secs Rows Query
61.233 30,123 select r_object_id, r_version_label, i_position from dm_sysobject (all) where i_chronicle_id 0903303480001116
0.234 22 select r_object_id, object_name, title, keywords, authors, r_object_type from dm_document where folder(/Business/Florida/Key2)
0.184 1 select child_id from dm_relation where parent_id 0903303480001116 and child_id in (select r_object_id from custom_templates where templ_type contract_docs)
0.116 2 select r_object_id, r_version_label, i_position from custom_templates where i_chronicle_id 0903303480000c9e
0.107 1 select r_folder_path from dm_folder where folder(/Business/Florida/Key2, descend)
19
Xense DFC Trace Analysis Example 3
  • Call Profile

Total Duration Frequency Average Duration DFC Call
7.033 1502 0.005 com.documentum.fc.client.DfQuery.execute
5.015 500 0.010 com.documentum.fc.client.DfPersistentObject.fetch
3.123 1502 0.002 com.documentum.fc.client.impl.collection.CollectionHandle.next
0.236 21 0.011 com.documentum.fc.client.impl.session.SessionHandle.getObject
0.172 1 0.172 com.documentum.fc.client.impl.session.SessionHandle.getFolderByPath
0.109 12 0.009 com.documentum.fc.client.impl.session.SessionHandle.getTypeDescription
0.079 129 0.001 com.documentum.fc.client.impl.session.SessionHandle.getType
0.079 205 0.000 com.documentum.fc.client.impl.collection.CollectionHandle.next
0.047 1983 0.000 com.documentum.fc.client.DfAdminSessionManager.getSession
0.031 1 0.031 com.documentum.fc.client.DfSysObject.getFormat
0.016 12 0.001 com.documentum.fc.client.impl.validation.Validator.getValueAssistance
0.015 1984 0.000 com.documentum.fc.client.impl.session.SessionManager.release
0.015 94 0.000 com.documentum.fc.client.impl.session.SessionHandle.getLoginUserName
0.000 3989 n/a All Other Functions
20
Xense DFC Trace Analysis Example 4
  • Call Profile

Total Duration Frequency Average Duration DFC Call
1.290 1 1.290 com.documentum.operations.DfDeleteOperation.execute
0.128 1 0.128 com.documentum.fc.client.DfClient.newSessionManager
0.125 32 0.004 com.documentum.fc.client.DfSessionManager.getSession
0.102 1 0.102 com.documentum.com.DfClientX.getDeleteOperation
0.092 20 0.001 com.documentum.operations.DfDeleteOperation.add
0.055 23 0.000 com.documentum.fc.client.DfSession.getObject
0.000 2123 n/a All Other Functions
21
Performance Patterns
  • Pattern 1 single long-running DFC calls
  • Tuning to target these calls
  • Pattern 2 long-running query
  • Not just IDfQuery.execute!
  • Tune the query
  • Pattern 3 high frequency of DFC calls
  • Reduce or eliminate repeated DFC calls or queries
  • Pattern 4 look elsewhere!

22
Summary
  • Understand the Key Changes
  • DMCL trace is dead
  • Performance tuning with DFC trace
  • Profile your performance
  • Performance Analysis Tools and Performance
    Patterns

23
Presentations will be available on the Momentum
Monaco Website
  • www.momentumeurope.com
Write a Comment
User Comments (0)
About PowerShow.com