Xcp Performance Best Practices

Embed Size (px)

Citation preview

  • 8/11/2019 Xcp Performance Best Practices

    1/23

    Abstract

    This white paper summarizes best practices andguidelines for designing and configuring an xCP 2.0application to get better performance. Intendedaudiences include xCP 2.0 designers and administrators.

    January 2013

    xCP 2.0 PERFORMANCE BEST PRACTICESAND GUIDELINES

  • 8/11/2019 Xcp Performance Best Practices

    2/23

    2 xCP 2.0 Performance Best Practices and Guidelines

    Copyright 2013 EMC Corporation. All Rights Reserved.

    EMC believes the information in this publication isaccurate as of its publication date. The information issubject to change without notice.

    The information in this publication is provided as is. EMC Corporation makes no representations orwarranties of any kind with respect to the information inthis publication, and specifically disclaims impliedwarranties of merchantability or fitness for a particularpurpose.

    Use, copying, and distribution of any EMC softwaredescribed in this publication requires an applicablesoftware license.

    For the most up-to-date listing of EMC product names,

    see EMC Corporation Trademarks on EMC.com.

  • 8/11/2019 Xcp Performance Best Practices

    3/23

    3 xCP 2.0 Performance Best Practices and Guidelines

    Table of Contents

    Executive Summary ............................................................................................. 5

    Audience .............................................................................................................. 5

    Abbreviation ........................................................................................................ 5

    Background.......................................................................................................... 5 Architecture and Scalability ............................................................................... 6

    Design Time .......................................................................................................... 6

    General Recommendations ......................................................................................... 7

    Limit Business Object Hierarchy Depth .................................................................... 7

    Limit Number of Items in a Folder ............................................................................. 7

    Limit Number of Grids on a Page ............................................................................. 7

    Minimize Nesting of Column Boxes .......................................................................... 7

    Minimize Use of Expression on Tab Group ............................................................... 8

    Set Height to Tree or Tab Group ............................................................................... 8 Data Services .................................................................................................................. 8

    Avoid triggering multiple queries ............................................................................. 8

    Avoid Operators Contains, "Ends with" or "Does not contain" .......................... 8

    Limit Number of Sortable Output Columns Full-Text ........................................... 9

    Avoid Operators "Does not contain", "!=" and "Ends with" Full-Text .................. 9

    Use Selective Criterion Full-Text ............................................................................ 10

    Avoid Fuzzy Search Full-Text ................................................................................. 10

    Discovered Metadata ................................................................................................. 10

    Limit Discovered Metadata Usage ........................................................................ 11 Avoid Adding Discovered Metadata of Type Entity Detection ........................ 11

    Case and Process (BPM) ............................................................................................. 11

    Use package instead of relationship to access BO in task-list query ................ 11

    Use business object package to encapsulate many process variables .......... 12

    Viewer ............................................................................................................................ 12

    Turn Off Thumbnails .................................................................................................. 12

    Designer ......................................................................................................................... 12

    Limit Number of Open Pages ................................................................................. 12

    Deployment Time............................................................................................... 13 Use tomcat.util.scan.DefaultJarScanner.jarsToSkip to exclude jars fromannotation scanning ............................................................................................... 13

    xPlore .............................................................................................................................. 13

    Use Small Repository at Design Time ...................................................................... 13

    Bypass Index Rebuilding .......................................................................................... 13

  • 8/11/2019 Xcp Performance Best Practices

    4/23

    4 xCP 2.0 Performance Best Practices and Guidelines

    BAM ................................................................................................................................ 14

    Use Different MQ Creation Strategies.................................................................... 14

    Create Multiple Pipe Jobs ....................................................................................... 14

    Move Runtime jars to bam-server.war .................................................................. 14

    Content Transformation Services ............................................................................... 15

    Minimize Storage Requirement .............................................................................. 15

    Runtime ............................................................................................................... 15

    Database Tuning .......................................................................................................... 15

    General Guidelines .................................................................................................. 15

    Sorting with Business Object .................................................................................... 16

    Filtering with Business Object .................................................................................. 16

    Recommended Tunings with Oracle ..................................................................... 16

    Recommended Tunings with SQL Server 2008 ..................................................... 16

    Content Server .............................................................................................................. 17

    Use DM_NO_EXTRA_JOINS ....................................................................................... 17

    Use Group Address to Reduce Mail Sending ....................................................... 17

    Case and Process (BPM) ............................................................................................. 18

    Oracle Tuning for Complex Task-List Query .......................................................... 18

    Business Activity Monitor .............................................................................................. 18

    Optimizing Historical Query Aggregation Frequency ......................................... 18

    Content Transformation Services ............................................................................... 19

    CTS JVM Tuning ......................................................................................................... 19

    Change MaxParallelDecoding .............................................................................. 20

    Tune Asynchronous CTS Thread Model ................................................................. 20

    Tune Synchronous CTS Thread Model ................................................................... 20

    Use ACS to Download Content from Content Server ......................................... 20

    Viewer ............................................................................................................................ 21

    Use Dedicated CTS Instances for Real-Time Requests ........................................ 21

    Content Intelligence Services ..................................................................................... 21

    Tune CIS ..................................................................................................................... 21

    Do Not Allow a backlog of CIS Requests .............................................................. 22

    Search ............................................................................................................................ 22

    Use Debug Flag to Trouble-Shoot Performance Issue ......................................... 22

    Conclusion ......................................................................................................... 23

  • 8/11/2019 Xcp Performance Best Practices

    5/23

  • 8/11/2019 Xcp Performance Best Practices

    6/23

    6 xCP 2.0 Performance Best Practices and Guidelines

    Architecture and ScalabilityAn xCP application can involve multiple products and components. Toensure support for a large number of concurrent users, an xCP applicationcan be deployed with scalability provided for different layers.

    The following diagram illustrates a typical deployment where the systemuses more than one instance for each Documentum product. You canalso deploy multiple database instances (for example, Oracle RAD) at thedatabase layer.

    The diagram above illustrates how the BAM server can be deployed in aclustered environment to provide high availability for end user reportviewing. The EMC Documentum xCelerated Composition Platform 2.0Deployment Guide provides guidelines on deploying BAM in a clusteredenvironment.

    Design TimeYou should carefully plan the design of your xCP application becausethere are limitations on the ability to adjust it later. You should make criticaldecisions when you are designing the system that impact how theapplication performs and scales during runtime.

  • 8/11/2019 Xcp Performance Best Practices

    7/23

    7 xCP 2.0 Performance Best Practices and Guidelines

    General Recommendations

    Limit Business Object Hierarchy Depth

    A business object type can be a subtype of dm_sysobject or anotherbusiness object type. Each additional level results in additional joins when adatabase query includes the business objects. Consequently, the querytakes more time to execute and negatively impacts applicationperformance.

    Limit the BO hierarchy to three levels, which includes the dm_sysobjectlevel.

    Limit Number of Items in a Folder

    System performance is negatively impacted when an end user navigatesto a folder that contains a large number of items. This occurs even whenthe application includes pagination.

    For better performance limit the number of items/objects in a folder to2000.

    Placing a limit on the number of items in a folder may seem like a runtimeissue only. However, a decision made during the design of the applicationcould make it impossible to limit the number of items in a folder duringruntime.

    For example, you might create a folder and for each new customer, a sub-folder is created in the folder to store customer documents and artifacts.When your business expands, you might end up with a large number ofcustomers and navigating to that folder might not have a satisfactoryperformance.

    Limit Number of Grids on a Page

    A data grid is an important widget often used in an xCP application.However, the display of data grids can take time, particularly when theend user uses Internet Explorer. For better performance, it is recommendedthat you limit the number of grids on a page.

    An alternative is to use tabs so that each page can be loaded anddisplayed quickly.

    Minimize Nesting of Column BoxesThe nesting of column boxes results in a DOM (Document Object Model)nesting and more JavaScript executions.

  • 8/11/2019 Xcp Performance Best Practices

    8/23

    8 xCP 2.0 Performance Best Practices and Guidelines

    Minimize Use of Expression on Tab Group

    When you bind a tab to an expression, all of the tab contents in thecontaining tab group are rendered when the page loads. Withoutexpression, only the contents of the first tab in the tab group are renderedwhen the page loads.

    Set Height to Tree or Tab GroupSpecifying the height of a tree or a tab group can significantly improve thelayout performance.

    Data Services

    Avoid triggering multiple queries

    When you select On page load or When an input value changes thesystem could trigger queries unnecessarily, resulting in a greater load onthe server.

    For example, when you select When an input value changes , and an enduser types in a word of four letters for search, the system can trigger thesame query four times.

    This guideline applies to real-time, historical, full-text, and task-list queries.

    Avoid Operators Contains, "Ends with" or "Does not contain"

    Do not use the operators Contains , Ends with, or Does not contain whendefining a user input for a real-time, historical, or task-list query.

    These operators make the database query non-sargable and results inpoor system performance.

  • 8/11/2019 Xcp Performance Best Practices

    9/23

    9 xCP 2.0 Performance Best Practices and Guidelines

    Limit Number of Sortable Output Columns Full-Text

    Do not enable sorting for all columns of a full-text search. Enable sortingonly for the columns that provide the most value to the end user. The

    system creates an index in xPlore for each attribute enabled for sorting. Thisincreases the size of the index which can negatively impact systemperformance.

    Avoid Operators "Does not contain", "!=" and "Ends with" Full-Text

    Do not use the Does not contain , !=, or Ends with negative operators whenconfiguring a user input for a full-text search. Queries that contain theseoperators can impact system performance.

  • 8/11/2019 Xcp Performance Best Practices

    10/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    Use Selective Criterion Full-Text

    Add user inputs to a full-text query to make it more selective. The systemprocesses selective queries more efficiently than unselective queries. Whenyou configure an unselective query, especially those issued by an end userwithout sufficient privileges, system performance can be impacted.

    xPlore performs a security check when an end user issues a query. It takesmore system resources to complete a security check for users that do nothave sufficient privileges.

    Avoid Fuzzy Search Full-Text

    Fuzzy search is a term to describe including variation, misspelling, andtypos in your full-time search. You should use this type of search sparinglybecause it uses more processing power to generate the matches.

    By default this option is not enabled.

    Discovered Metadata

    The CIS server computes metadata values by analyzing the content of an

    object. This computation is performed asynchronously. The volume andformat of the content can impact the amount of CPU resources neededto perform the computation.

    The following table provides example performance metrics for the entitydetection and the categorization and pattern detection processing types:

    Type ofProcessing Discovered Metadata Throughput

    Example withDocuments of 4KB

    Entity detection

    Fax numberOrganizationPeoplePhone numberPlacepostal address

    10 MB/hour2,500documents/hour

    Categorization

    &

    Pattern detection

    Business terms (USA)Science and EngineeringEmail addressSSN (USA)URL

    1 GB/hour 250,000documents/hour

  • 8/11/2019 Xcp Performance Best Practices

    11/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    This example shows that entity detection is less efficient thancategorization and pattern detection.

    Limit Discovered Metadata Usage

    Do not add discovered metadata to a content model unless it is used bythe end user. This guideline is particularly important for entity detectiondiscovered metadata.

    Avoid Adding Discovered Metadata of Type Entity Detection

    The cost of adding a DM is a function of the DM type.

    Adding the first Categorization DM has a low impact on systemperformance. The impact of adding a second Categorization DM is lowerthan the first DM and is almost unnoticeable.

    Adding the first Pattern detection DM has a low impact on systemperformance. The impact of adding a second Pattern detection DM has

    the same impact as adding the first Pattern detection DM.Adding the first Entity detection DM has a high impact on systemperformance. The impact of adding a second Entity detection DM doesnot have any impact on the current Entity detector. It does not cost moreto have many entity detection DM computed for a Content Model whencompared to a single entity detection DM.

    The following table summarizes the differences:

    Type of Processing Cost of First DiscoveredMetadataCost of Additional DiscoveredMetadata

    Entity detection High Unnoticeable

    Categorization Low Much lower

    Pattern detection Low Low

    Case and Process (BPM)

    Use package instead of relationship to access BO in task-list query

    You introduce additional table joins when you configure a task-list querythat includes attributes of a non-package business object which isaccessed through a relationship with another type of business object.

    You can improve system performance by adding the related businessobject to a package so that the task-list query can access its attributesdirectly.

  • 8/11/2019 Xcp Performance Best Practices

    12/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    Use business object package to encapsulate many process variables

    The performance of a task page slows when a process contains multiplepackages and process variables. Using a single business object to replacemultiple process variables can improve task page performance, especiallywhen there are a large number of process variables.

    The cost in system resources to save or update a package is comparableto the cost for a process variable. A single business object can containmultiple attributes.

    Viewer

    Turn Off Thumbnails

    If an end user views documents that contain mostly text (for example,Word or PDF documents), clear the Display thumbnail navigator checkbox.Displaying a thumbnail for a text page does not add value to the end userand because the system downloads thumbnails, system performance canbe negatively impacted. The impact can be significant under WANconditions.

    However, it is important to note that clearing this option also turns off thepage modification feature.

    Designer

    Limit Number of Open Pages

    Limit the number of pages open in xCP Designer. Depending on nativememory and java heap settings you could experience performance issueswith xCP Designer when you keep a large number of pages open.

    Native memory: Each page consumes native memory and whenyou open many pages the system may run short of memory.

    Java heap: Each page consumes memory in the Java heap andwith many open pages the JVM can spend much time doinggarbage collection. xCP Designer is a 32-bit application that limitsthe maximum heap size.

  • 8/11/2019 Xcp Performance Best Practices

    13/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    In addition, the number of pages that can be opened without impactingperformance is a function of the complexity of the pages.

    Deployment Time

    Use tomcat.util.scan.DefaultJarScanner.jarsToSkip to exclude jars fromannotation scanning

    Tomcat 7 includes support for Servlet 3.0 annotations which require moreheap memory and results in a longer start up time for the server becauseof higher heap usage and additional processing.

    xCP 2.0 does not require support for annotations. You can configureTomcat to exclude annotation JARs from being scanned during start up.

    The EMC Documentum xCelerated Composition Platform 2.0 Deployment Guide provides instructions on how to exclude JARs from being scanned.

    xPloreDeploying or redeploying an xCP application could cause the xPlore indexto be rebuilt. Rebuilding the xPlore index is a synchronous operation thatnegatively impacts the overall deployment performance if the index islarge.

    Based on EMC internal tests, the throughput is 10-30 documents persecond with small to medium document size.

    Use Small Repository at Design Time

    This is the preferred way before the deployment to the productionenvironment. For example, a repository with 1000 documents can be usedduring the design time since the purpose at the design time is to ensure thecorrectness of the application.

    Bypass Index Rebuilding

    You can use xMS Server to deploy an xCP application to bypass xPloreindex rebuilding. However you cannot bypass index rebuilding when youuse xCP Designer to deploy an application.

    1. Use xCP Designer to package the WAR and config.xml files.

    2. Use xMS Server to deploy an application and specify -xploreindexingfalse during deployment

    For example:

  • 8/11/2019 Xcp Performance Best Practices

    14/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    xms>deploy-xcp-application --war-fileC:\package\Casual_and_Property_Insurance.war --configuration-fileC:\package\Casual_and_Property_Insurance_capins_1.0.0_config.xml --environment C24-DIY --xploreindexing false

    Once deployed, use the xPlore admin console to rebuild the index. If theindex is not rebuilt, the system does not make changes in the Full-Textsearch model available to end users at runtime. For example, if you add afacet to an application and xPlore does not rebuild the index, the end userdoes not see the facet.

    BAM

    Use Different MQ Creation Strategies

    Content Server message queues hold business event data generated by theruntime application. The message queue strategy determines the number ofmessage queues the system creates. The strategy correlates with systemperformance. Generally, the more message queues the system creates the betterthe BAM server performs.

    The EMC Documentum xCelerated Composition Platform 2.0 Deployment Guide provides instructions.

    Create Multiple Pipe Jobs

    The BAM server runs one pipe job for each message queue, taking data from thequeue and inserting it into the BAM database. If you have a backlog of data youcan add pipe jobs to a message queue as a way to improve system performance.

    The EMC Documentum xCelerated Composition Platform 2.0 DeploymentGuide provides instructions.

    Move Runtime jars to bam-server.war

    When you deploy xCP, the runtime JAR files are placed inCATALINA_BASE/lib. You can improve system performance by moving theruntime JAR files to CATALINA_BASE/webapps/bam-server/WEB-INF/lib.

    BAM throughput can be improved by 50-100%.The EMC Documentum xCelerated Composition Platform 2.0 DeploymentGuide provides more information.

  • 8/11/2019 Xcp Performance Best Practices

    15/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    Content Transformation Services

    Minimize Storage Requirement

    The cost to store renditions and storyboards can be up to five times greaterthan the cost for the content. Storyboards are required when using xCPViewer. Storyboards are not required for Daeja Viewer.

    You can specify when storyboards are not generated, for example, forMicrosoft Excel documents. Set richmedia_enabled to 0 for theexcel12book format:

    update dm_format objects set richmedia_enabled=0 wherename='excel12book'

    Runtime

    Database Tuning

    General Guidelines

    In general, database tuning is expected in order to get satisfactoryperformance.

    Index creation

    o This is application and data model specific and not all therequired indexes are created out of the box.

    o For example, 24 indexes were created for the referenceapplication used during the internal performance study.

    Statistics gathering

    o Gathering statistics involves a number of options andconfiguration parameters. It is the responsibility of the DBA todetermine the best options based on the application and howit is used.

    o For Oracle:http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003

    o For SQL Server 2008: http://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspx

    (Oracle) SQL Baseline or SQL Profile

    o Using hints might be needed to influence CBO (Cost BasedOptimizer).

    http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003http://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspxhttp://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspxhttp://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspxhttp://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspxhttp://msdn.microsoft.com/en-us/library/dd535534(v=sql.100).aspxhttp://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003http://docs.oracle.com/cd/E11882_01/server.112/e16638/stats.htm#PFGRF003
  • 8/11/2019 Xcp Performance Best Practices

    16/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    o It is found that SQL Baseline/Profile is efficient if theperformance of a query can be improved by passing a hint(without query structure change).

    Sorting with Business Object

    The system does not automatically create indexes for each business objecttype. If an end user experiences inadequate system performance whilesorting the results of a real-time or task-list query, manually create an indexto help resolve the issue. For example:

    Business object: Person with attribute last_name

    Enable s orting for last -name with a query

    Create an index on (last_name, r_object_id)

    For full-text queries the system automatically creates an index in xPlore.

    Filtering with Business Object

    When an attribute is added to a user input, creating a correspondingindex can improve system performance. . This is similar to the case abovewhere manually creating an index for sorting can help systemperformance.

    Recommended Tunings with Oracle

    Set cursor_sharing=FORCE

    Consider turning off auditing or writing database audit records to OSwith large file sizes.

    The following is not a general recommendation but it can be tried ifthe execution plan for some queries is not optimal.optimizer_index_caching=95optimizer_index_cost_adj=5

    Recommended Tunings with SQL Server 2008

    Parameterization = forced

    Consider setting "Maximum degree of parallelism" if the host hasmore than 4 CPUs

    Enable Snapshot IsolationALTER DATABASE MyDatabase SET ALLOW_SNAPSHOT_ISOLATION ONALTER DATABASE MyDatabase SET READ_COMMITTED_SNAPSHOT ON

    Set "maximum server memory" if the SQL Server is deployed on ashared host

  • 8/11/2019 Xcp Performance Best Practices

    17/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    o SQL Server would use as much memory as possible and it mayresult in poor performance with other components/productsdeployed on the same machine.

    Auto Create Statistics = false

    Auto Update Statistics = true

    Content Server

    Use DM_NO_EXTRA_JOINS

    When views are created, extra/redundant join predicates are added bydefault.

    It was to help DB optimizer to choose the best execution plan basedon Documentum's past performance investigation.

    However, it is found that with Oracle 11g, the redundant join predicatespresent challenges to Oracle optimizer and can result in much worseperformance because the Oracle optimizer might choose a sub-optimalexecution plan.

    A support case (Bug 14033569) has been opened with Oracle.

    It is recommended to use DM_NO_EXTRA_JOINS to eliminate redundant join predicates.

    Refer to Content Server 7.0 Administration and Configuration Guide fordetail.

    Use Group Address to Reduce Mail Sending

    By default, the system sends an event notification email to each memberof a workqueue group. This setting places a load on the method serverand can impact system performance. Set the use_group_addressparameter to 1 so that the system sends an event notification email to theaddress of the group instead of each member of the group.

    If you are not using email, turn off mail sending:

    1. Open server.ini.

    2. Locate the [SERVER_STARTUP] section.

    3. Set mail_notification = false.

    These two guidelines are helpful when troubleshootingDM_SERVER_E_NO_MTHD_BUF issues.

    The EMC Documentum Content Server 7.0 Administration andConfiguration Guide provides more information on email settings.

  • 8/11/2019 Xcp Performance Best Practices

    18/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    Case and Process (BPM)

    Oracle Tuning for Complex Task-List Query

    System response time can be slow when processing a complex task-listquery. For example, response time slows when a task-list query includes theattributes of a non-package BO accessed through a relationship.

    Use the following parameters to improve query performance:

    optimizer_index_caching=95

    optimizer_index_cost_adj=5

    These parameters are global and the impact on the performance of othertypes of queries is not clear.

    Test and validate this setting in a test environment before using it in aproduction environment.

    Business Activity Monitor

    Optimizing Historical Query Aggregation Frequency

    The system aggregates data for all historical queries every 5 minutes. If toomany aggregation jobs run simultaneously, system performance suffersand charts do not load quickly. The following figure shows spikes in systemCPU usage occurring in 5-minute intervals as the number of historical queries increases :

    To avoid future performance issues, you can adjust two aspects ofhistorical query aggregation jobs: LAST_RUN and STEP_SIZE.

    LAST_RUN is the time an aggregation job starts. By default, the system startsall aggregation jobs at the same time, for example, 10:20 a.m., 10:25 a.m.,

  • 8/11/2019 Xcp Performance Best Practices

    19/23

    1 xCP 2.0 Performance Best Practices and Guidelines

    10:30 a.m., and so on. To enhance system performance, staggeraggregation jobs so they begin at different times, which can decrease theload on the CPU. The system accepts LAST_RUN values expressed in wholeminutes. For example, use a LAST_RUN value of 1, 2, 3, and so on. If CPUusage is still too high, adjust STEP_SIZE.

    STEP_SIZE controls how often an aggregation job runs. The default STEP_SIZEis 5 minutes, which means the system starts aggregation jobs every 5minutes. You can increase or decrease STEP_SIZE. Decreasing STEP_SIZEcan enhance system performance because the system aggregates fewerrows of data. The system accepts STEP_SIZE values as whole minutesexpressed in seconds. For example, the system accepts 60, 120, and 180,but does not accept 90, 150, or 210.

    Adjust LAST_RUN and STEP_SIZE by running scripts against the BAMdatabase.

    In the following example, the script adjusts LAST_RUN so the aggregation

    jobs for three historical queries start 1 minute later than the rest of the aggregation jobs .

    UPDATE BAM_S_JOBS SET LAST_RUN=DATEADD(mi,1,LAST_RUN) WHERE NAME in

    (QueryLabel_1,QueryLabel_2,QueryLabel_3)

    In the following example, the script adjusts LAST_RUN so the aggregation jobs for two historical queries run 2 minutes before the rest of theaggregation jobs.

    UPDATE BAM_S_JOBS SET LAST_RUN=DATEADD(mi,-2,LAST_RUN) WHERE NAMEin QueryLabel_4,QueryLabel_5)

    In the following example, the script changes step_size to 60 seconds for allhistorical queries with Customer in the name.

    UPDATE BAM_S_JOBS SET STEP_SIZE=60 WHERE NAME likeCustomer%

    This information also appears in the xCP Designer online helpdocumentation.

    Content Transformation Services

    CTS JVM Tuning

    Depending on the configuration of the system and the required throughput, JVMmemory options should be changed accordingly.

    The Windows registry is used for CTS JVM configuration and the location isat HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->services->DocumentumCTS->Parameters->AppParameters.

  • 8/11/2019 Xcp Performance Best Practices

    20/23

    2 xCP 2.0 Performance Best Practices and Guidelines

    It is also recommended to disable explicit GC by using the JVM Option -XX:+DisableExplicitGC .

    Change MaxParallelDecoding

    On a powerful machine (e.g. with 8 cores or plus), settingMaxParallelDecoding to a large value can significantly improve the CTSthroughput.

    pdfstoryboard.xml

    8

    doc2.xml

    8

    Tune Asynchronous CTS Thread Model

    To tune the asynchronous thread model update the CTSServerService.xmlfile. For example:3020

    Tune Synchronous CTS Thread Model

    To tune the synchronous thread model update the WebServerService.xmlfile. For example:

    Use ACS to Download Content from Content Server

    Enable content transfer using ACS to improve the content transfer time.

    1. Use DA to create a network location ID. For example, ctsn1 .2. Update the CTSServerService.xml file with the network Location ID.

  • 8/11/2019 Xcp Performance Best Practices

    21/23

  • 8/11/2019 Xcp Performance Best Practices

    22/23

    2 xCP 2.0 Performance Best Practices and Guidelines

    Usually, the processing speed of the CIS server(Categorization/Pattern Detection) is much faster than the Luxidserver (Entity Detection).

    Tune by starting with cis.server.execution.threads = 1

    Do Not Allow a backlog of CIS Requests

    If a newly created document/object is processed by CIS after it isprocessed by xPlore, xPlore trigger a new processing. It is important toensure that CIS can process newly created documents/objects with ashort delay.

    Search

    Use Debug Flag to Trouble-Shoot Performance Issue

    The debug mode for query data services can be activated at runtime byadding the debug parameter in the URL calling the services. The debuginformation is useful to troubleshoot issues such as performance issues. Itallows you to check results, execution events, and the query sent to thesource.

    The following example shows how to add the debug parameter to theURL:http://://application/documents?type=ft_doc&q=active&page=1&start=0&limit=10 &debug

    The following table shows the output from the debug operation. Search forthe statistics section which includes four entries all prefixed with JAMonLabel:

    Step Real-Time Full-Text1 RealtimeAttributeMapperFactory.createMapper DfcAttributeMapperFactory.createMapper2 RealtimeQueryAdapter.adapt DfcSearchQueryAdapter.adapt3 RealtimeQueryExecutor.execute DfcSearchExecutor.execute4 RealtimeResultAdapter.adapt DfcSearchResultAdapter.adapt

    Each entry represents a step in the service call execution.

    Steps 1 and 2: The application server prepares and builds the query

    Step 3: The Content Server database or xPlore execute the query

    Step 4: The application server processes the results

    The system calculates the following metrics for each step:"executor":"JAMon Label=DfcSearchExecutor.execute, Units=ms.:(LastValue=969.0, Hits=59.0, Avg=777.8135593220339, Total=45891.0,Min=217.0, Max=8952.0, Active=0.0, Avg Active=1.0, Max Active=1.0, FirstAccess=Tue Oct 30 01:33:43 PDT 2012, Last Access=Wed Oct 31 05:52:21 PDT2012)"

  • 8/11/2019 Xcp Performance Best Practices

    23/23