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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Designing the Application<br />

For example, if the initial task list page looks for tasks in a queue containing 10,000 tasks, unless the<br />

task list query imposes a limit on the number of results, the database returns all 10,000 results to<br />

Content Server and the application server for task list rendering. The performance impact of this<br />

scenario exposes itself through the following symptoms:<br />

• The initial task list form takes a long time to render when a user clicks the "Tasks" tab in TaskSpace.<br />

• The initial task list displays the tasks, but sorting on a column takes a long time to display the<br />

results.<br />

View the collected DQL query for ENABLE (RETURN_TOP n) hint where n is the number of<br />

fetched rows. Lack of the ENABLE (RETURN_TOP n) hint indicates the following:<br />

• The task list form contains a default sort criteria on a process variable (either primitive or SDT<br />

attribute) and this process variable is not used to filter results (not used in the filter criteria).<br />

Remove the default sort on this process variable from the task list form.<br />

• The task list form displays multiple process variables (either primitive or SDT) and filtering occurs<br />

on a different process variable than sorting. The task list service cannot limit the results from<br />

the database and returns all results to the TaskSpace application server, where the application<br />

server does an in-memory sort. Carefully design the task list form to prevent certain columns<br />

from being sortable.<br />

Avoiding unnecessary preconditions<br />

TaskSpace can be customized using the Documentum Web Development Kit (WDK). One of the most<br />

common TaskSpace customizations affecting performance involves the use of preconditions.<br />

TaskSpace forms that list rows of items (Tasklist, Search, and Folder View, for example), evaluate<br />

preconditions on result sets returned from a database query before displaying each row in the list.<br />

The preconditions evaluate attributes of listed objects to enable or disable actions that the user<br />

can perform on an object (edit or view only, for example). While preconditions provide for rich<br />

functionality, they can have a significant impact on performance.<br />

TaskSpace processes all preconditions for each object in a list before displaying information about that<br />

object as a row on a form. As a result, preconditions exact a multiplicative performance impact on<br />

rendering a complete list in a form. For example, if there are 10 items in a list, each with 20 applicable<br />

preconditions, TaskSpace executes 200 preconditions before rendering the list. A task list that takes 10<br />

seconds to render with preconditions can take 3 seconds to render without preconditions.<br />

Establish a baseline performance metric for your form before adding preconditions. Individually<br />

assess the performance impact of each precondition against the baseline to determine whether the<br />

value offered by the precondition is worth the performance cost.<br />

Note: Many preconditions inspect object attributes such as "object type", "content type", "content<br />

size", "lock owner", and so on. If these attributes are not present in the search query of the form,<br />

TaskSpace performs a full fetch of the object to retrieve the attributes, which adds an additional<br />

performance impact.<br />

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

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

Saved successfully!

Ooh no, something went wrong!