Академический Документы
Профессиональный Документы
Культура Документы
Performance Tuning D6
Who am I?
Independent Consultant 8+ years working with Documentum Specialise in performance analysis and tuning Inside Documentum blog
http://robineast.wordpress.com
Overview
Key Architectural Changes in D6 DFC and DMCL DFC Tracing in D6 Performance Tuning with DFC trace
Native DMCL replaced with Java DMCL Documentum Foundation Services (DFS) Write-caching in BOCS Loads more
VB client
D M C L
Database
Work space
D M C L
RPC
Browser
RightSite docbasic
D M C L
Java Client
DFC Java
DMCL C++
Database
Desktop Client
DFC Java
DMCL C++
RPC
Browser
Webtop/ WDK
DFC Java
DMCL C++
D6 - DFC
Database
DFC Java
RPC Java
RPC
Java
DFC Java
Database
DFS
DFC Java
RPC
Browser
WDK/ Webtop
DFC Java
DFC Tracing in D6
DMCL Tracing DFC Trace
Simple Invocation Flat structure Analysis tools available Problems with tracing in Multi-Threaded environments
Many different parameters Stack structure Few tools available Improved tracing facilities in Multi-Threaded environments
> Other tracing parameters are listed in the Content Server Administration Guide
> Resource Management in DA > Dont forget to switch off tracing afterwards!
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
DFC Call
com.documentum.fc.client.DfQuery@1c2f20c.execute
Call Details
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' 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', 'GHR014:16', 'GHR000') and r_current_state='2' 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:44', 'GHR014:5', 'GHR014:6', 'GHR000') and r_current_state='2' 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', 'GHR014:16', 'GHR014:26') and r_current_state='2' 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:5', 'GHR014:6', 'GHR000') and r_current_state='2'
67.650
com.documentum.fc.client.DfQuery@1cdc507.execute
67.618
com.documentum.fc.client.DfQuery@1c2e31d.execute
67.603
com.documentum.fc.client.DfQuery@5422acd.execute
67.368
com.documentum.fc.client.DfQuery@1b248c8.execute
DFC Call
com.documentum.fc.client.impl.session.SessionHandle@ 14b9eeb.getFolderByPath() /dmadmin
Call Details
0.234
com.documentum.fc.client.DfAdminSessionManager@1d 66aa9.getSession()
0.184
com.documentum.fc.client.DfQuery@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.CollectionHandl e@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.CollectionHandl e@1a13047.next()
select r_object_id, r_version_label, i_position from dm_sysobject (all) where i_chronicle_id (0903303480001116)
Example 2 - continued
Top 5 Queries
Duration Secs 61.233 Rows 30,123 Query 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) 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.184
0.116
select r_object_id, r_version_label, i_position from custom_templates where i_chronicle_id = 0903303480000c9e select r_folder_path from dm_folder where folder(/Business/Florida/Key2, descend)
0.107
7.033 5.015 3.123 0.236 0.172 0.109 0.079 0.079 0.047 0.031
0.005 0.010 0.002 0.011 0.172 0.009 0.001 0.000 0.000 0.031
com.documentum.fc.client.DfQuery.execute com.documentum.fc.client.DfPersistentObject.fetch com.documentum.fc.client.impl.collection.CollectionHandle.next com.documentum.fc.client.impl.session.SessionHandle.getObject com.documentum.fc.client.impl.session.SessionHandle.getFolderByPath com.documentum.fc.client.impl.session.SessionHandle.getTypeDescription com.documentum.fc.client.impl.session.SessionHandle.getType com.documentum.fc.client.impl.collection.CollectionHandle.next com.documentum.fc.client.DfAdminSessionManager.getSession com.documentum.fc.client.DfSysObject.getFormat
0.016
0.015 0.015 0.000
12
1984 94 3989 n/a
0.001
0.000 0.000
com.documentum.fc.client.impl.validation.Validator.getValueAssistance
com.documentum.fc.client.impl.session.SessionManager.release com.documentum.fc.client.impl.session.SessionHandle.getLoginUserName All Other Functions
1 1 32 1 20 23 2123 n/a
Performance Patterns
> Pattern 1: single long-running DFC calls
Tuning to target these calls
Summary
> > > > > Understand the Key Changes DMCL trace is dead Performance tuning with DFC trace Profile your performance Performance Analysis Tools and Performance Patterns