560 likes | 1.83k Views
Documentum TaskSpace Performance Deep Dive. Daniel Hata. Topics. Introduction to TaskSpace Tuning TaskSpace For Performance Page Serving Using Accelerated Content Services Custom Inbox, Custom Search, Folder Content Views Best Practices and Tuning Advice Benchmark Results.
E N D
Documentum TaskSpace Performance Deep Dive Daniel Hata
Topics • Introduction to TaskSpace • Tuning TaskSpace For Performance • Page Serving Using Accelerated Content Services • Custom Inbox, Custom Search, Folder Content Views • Best Practices and Tuning Advice • Benchmark Results
TaskSpace - Rapid TCM Processing task Viewing a folder TaskSpace • Simplifies task processing • Optimizes document access and improves decision making • Accelerates development and deployment of case-based applications • Integrates imaging and business process management into a single UI
Topics • Introduction to TaskSpace • Tuning TaskSpace For Performance • Page Serving Using Accelerated Content Services • Custom Inbox, Custom Search, Folder Content Views • Best Practices and Tuning Advice • Benchmark Results
Tuning TaskSpace For Performance • Tuning TaskSpace For Performance • Page Serving Using Accelerated Content Services • Custom Inbox, Custom Search, Folder Content Views
Use-case: Random Access through a file • Many Content Management applications need fast access through a set of pages • There are several ways to model this. • #1 – Large Documents modeled as multiple content objects • #2 – Large documents modeled as a single large file • Access to random pages in the 2nd case can be slow if the entire file has to be extracted
Byte and page serving for improved random content access • Prior to 6.0 if a file was stored as a large multi-page document ( but single page in documentum) then retrieval typically required entire document to be retrieved • The API supported seeking through the file, but lacked content format awareness to make it easy on the applications to do so ACS
Byte and page serving for improved random content access • The option of storing the file as separate content objects allowed for random access, but slowed down access of the whole set ACS
Byte and page serving for improved random content access • TaskSpace allows for easy access to individual TIFF and PDF pages • Files now can be access quickly in a random page fashion or in a entire document fashion ACS
Accelerated Content Services ACS technology • How do We Know ACS Page Serving is Working? • Verify the ACS URL • Verify the ACS Port • Observe the Amount of Data Sent Over • Observe the Time it Takes to View the Document
Accelerated Content Services ACS technology • Use the Daeja Viewer to Investigate ACS Performance The “i” Button Invokes the ViewOne Pro Image Properties Page
Accelerated Content Services ACS technology • Ensure URL Contains ACS Port and the Words “getpage” • File Length Should be In Kilobytes • Check the Network Time and Download Rate to Rule Out Network Issues
Accelerated Content Services ACS technology • Ensure URL Contains ACS Port and the Words “getpage” http://plesys104:9080/ACS/servlet/ACS?command<EQ>getpage&version<EQ>2.0&docbaseid<EQ>0003dd&basepath<EQ>C%3A%5CDocumentum%5Cdata%5Ctaskspace%5Ccontent_storage_01%5C000003dd&filepath<EQ>80%5C00%5C06%5Cac.pdf&objectid<EQ>090003dd80003984&cacheid<EQ>dAAEAgA%3D%3DrAYAgA%3D%3D&format<EQ>pdf&pagenum<EQ>0&signature<EQ>bl91quoc1wlOcHRAAEDeJGrPY5n5wtDY6odJOaxiBbxefNAVGFU7MNWv6IyLDbwSBlSPDym%2FBsmt1%2FoANnHnVpAlk19bO60Jzma6Jw86rBOYfLDJc0v7rkUCmXzDA81O%2Fbzdevr0S0hhPp9frW9Ocvrcb4JuL9Hm%2BGvjB5Qdq9U%3D&servername<EQ>PLESYS104ACS1&mode<EQ>1×tamp<EQ>1210960811&length<EQ>1173153&mime_type<EQ>application%2Fpdf&page_plugin_name<EQ>com.documentum.pageaware.pdf.IPdfPageHandlerService&page<EQ>1&transient_delimiter<EQ>:: http://plesys104:9080/ACS/servlet/ACS?command<EQ>getpage&version<EQ>2.
Accelerated Content Services ACS technology • ivf_config.xml File Controls the Behavior of ACS • Set Content Server ACS ON/OFF • Set Document Serving Level or Page Serving Level worse better
Accelerated Content Services ACS technology • Three Essential Settings to Check in the ivf_config.xml File: • Set Content Server ACS ON/OFF • Set Page Serving Level or Document Serving Level • Set Page Serving Level Threshold (in bytes)
Accelerated Content Services ACS technology • Additional ACS Configuration Information: • ivf_config.xml Located at {clientserver}\webapps\taskspace\wdk\config\imaging\ ivf_config.xml • Any Change to the File Requires Restarting the Application Server
Tuning TaskSpace For Performance • Tuning TaskSpace For Performance • Page Serving Using Accelerated Content Services • Custom Inbox, Custom Search, Folder Content Views
Custom Inbox -Example • Users Inbox Filled with Invoices Located in Many Different States
Custom Inbox -Example • Go Into Process Builder to View the Process Templates of the Tasks in the Inbox
Custom Inbox -Example • Double Click on the Initiate Step to See the Process Variables
Custom Inbox -Example • Process Variable is a Structured Data Type (SDT)
Custom Inbox -Example • The Attributes of the SDT Map to Columns in the Inbox to Expose Process Data
Custom Inbox -Example • Users Inbox Filled with Invoices Located in Many Different States
Custom Inbox -Example • What if the User only works on Invoices Located in California?
Custom Inbox -Example • Forms Builder Can Modify the Task List to Only Show the Tasks Relevant to the User
Custom Inbox • Pre-Define Searches to Only Show Relevant Tasks to the User • The Custom Inbox Wizard Below Will Only Show Tasks In the State of California
Custom Inbox -Example • Performance Considerations • The Search Criteria or Filter Defined in Forms Designer Will Not Create an Index Out of the Box • Indexes for Structured Data Type (SDT) Attributes Used in a Search Criteria or Task List Filter Need to be Created
Custom Inbox – Index SDT Attributes • What do We Know? • The Display Name of the SDT: Customer • The Attribute Being Filtered or Searched: State
Custom Inbox – Index SDT Attributes • What do We Need to Find Out? • DQL for “Put an Index On the State of Each Customer” • EXECUTE make_index WITH type_name=‘X',attribute=‘Y‘ • X and Y • Type_name and attribute
Contains All SDT Information Custom Inbox – Index SDT Attributes • Use IAPI to Get element_type_name and attr_element_type_name API> retrieve,c,dmc_wfsd_type_info where sdt_name='cust’ 0800270f80002505 API> dump,c,l API> retrieve,c,dmc_wfsd_type_info where sdt_name= 0800270f80002505 API> dump,c,l From Process Builder We Know the Display Name of the SDT: is Customer
Object to Index (X Value) We Know the Attribute Being Filtered is State Attribute to Index (Y Value) Custom Inbox – Index SDT Attributes • Use IAPI to Get element_type_name and attr_element_type_name API> retrieve,c,dmc_wfsd_type_info where sdt_name='cust’ 0800270f80002505 API> dump,c,l USER ATTRIBUTES sdt_name : cust element_type_name : dmc_wfsd_cust attr_display_name [0]: First Name [1]: Street [2]: State attr_element_type_name [0]: attr3 [1]: attr16 [2]: attr17
Object to Index (X Value) Attribute to Index (Y Value) Custom Inbox – Index SDT Attributes • Use the Attributes to Create an Index EXECUTE make_index WITH type_name='dmc_wfsd_cust',attribute='attr17' EXECUTE make_index WITH type_name=‘X’, attribute=‘Y’ USER ATTRIBUTES sdt_name : cust element_type_name : dmc_wfsd_cust attr_display_name [0]: First Name [1]: Street [2]: State attr_element_type_name [0]: attr3 [1]: attr16 [2]: attr17
Custom Inbox – Index SDT Attributes • Final Steps • Run Statistics on the Target Tables • Ensure Index Is Created
Custom Inbox – Index SDT Attributes • 6 Steps to an Optimized Inbox • Know the SDT Display Name and Attribute Used in Filter or Search • Use Process Builder to Find the SDT Name From the Display Name • Use the SDT Name in IAPI to Find the Object and Attribute • Use the Object and Attribute to Create an Index Using DQL • Run Statistics • Verify the Index
Topics • Introduction to TaskSpace • Tuning TaskSpace For Performance • Accelerated Content Services (ACS) • Custom Inbox • Best Practices and Tuning Advice • Benchmark Results
Best Practices and Tuning Advice – App Server • Java Flags • JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:UseParallelOldGC -serverjvm server mode will provide better performance for long running tests. Has to be the very first flag -XX:MaxPermSize=256mThe application dynamically generates and loads many classes -XX:+UseParallelOldGCEnables -XX:+UseParallelGC automatically • JVM capacity • Heap size and threads control the amount of users the JVM can support • Accommodate 150 to 300 Users per JVM • Response times degrade with an increase in users • 150 Users recommended • 768-1024 MB heap size • Less than 512 heap size results in out of memory errors • 1024 MB recommended • CPU will be the first resource to bottleneck on this tier • Application Server tier is the most scalable tier in the system because there is no finite limit for additional JVM or servers
Best Practices and Tuning Advice – Content Server • Additional Content Server needs to be added to support additional load • Installation of a second Content Server is trivial • Ensure the proximity of both Content Servers is the same • Sessions control the number of Oracle processes on the database • To control the number of Oracle processes (database bottleneck) limit the amount of sessions the Content Server has • Decrease in sessions results in an increase in CPU • Additional Considerations • Turn Off Mail_Notification Unless it is necessary • Narrow down Audit Trails to the essentials
Best Practices and Tuning Advice – Database Server (Oracle Specific) • Oracle processes • Oracle spawns one Oracle process per Content Server session for TaskSpace users • Oracle processes consume the majority of the physical memory • Limit Oracle processes by limit the number of available sessions on the Content Server • Database Parameters • The following database parameters are essential for TaskSpace • cursor_sharing = FORCE • optimizer_mode = CHOOSE • optimizer_index_cost_adj = 5 • optimizer_index_caching = 95 • The database parameters can be found in the init.ora or through Oracle Enterprise Manager (OEM).
Topics • Introduction to TaskSpace • Tuning TaskSpace For Performance • Accelerated Content Services (ACS) • Custom Inbox • Best Practices and Tuning Advice • Benchmark Results
Benchmark Description • Data Composition: • 450 unique users. • Transaction mix comprised of 7 transactions. • Each user has 180 tasks in their individual task list. • Document Search spans 50,000 documents and searches on the document title. • Folder Search spans 50 folders, each folder contains 5 subfolders. • Daeja viewer is used for all document viewing. ACS and page-level serving is in place.
Benchmark Description • Data Composition (con’t): • The TaskSpace benchmark used 50%-150% think time and limited it to 10 seconds. • The TaskSpace benchmark used an average of 5-minute pacing (240-360 seconds). • Transactions and Hits Per Second • A hit is a request sent to the system. The LoadRunner controller defines this metric. • A transaction is one or more hits sent to system. This is defined when writing the LoadRunner script.
Total Hardware Under $50,000 Benchmark Description • Content Server • One Dell 6850 • Four Intel Pentium 4 80547 (LGA775) 3.66 GHz w/ HT enabled • 12 GB of memory • Dual Gigabit Ethernet ports • 1 TB Internal SCSI • Windows 2003 Server • Two Content Servers installed • Database/Application Server • Two IBM eServer pSeries p5-510 • Four dual-core, 1.65 GHz, 64-bit POWER5 processors • ~219 GB of internal disk, 3 x 7 3 GB 10K rpm Dual Channel Ultra320 SCSI disk drive assembly • 8 GB of memory • Dual Gigabit Ethernet ports • One Fibre Channel connected CLARiiON storage device via one Emulex 2 GB FC host bus adapter (HBA) • 500 GB LUN carved out of a ~4.5 TB 15-drive DAE, RAID level 0 • AIX 5.3
Case Study – ACS Failover worse better
Case Study – ACS Failover worse better
Case Study – ACS Failover ACS Page Serving On
Case Study – ACS Failover ACS Page Serving OFF
Recap • TaskSpace is a configurable application for efficient task processing • Key features that enable TaskSpace for optimal performance • Accelerated Content Services (ACS) • Indexed Custom Inbox • Best Practices • Expected Results • 450 users • <2.5 seconds response time • scalable on all tiers • hardware < $50,000