Performance Tuning Guide - EMC Community Network
Performance Tuning Guide - EMC Community Network
Performance Tuning Guide - EMC Community Network
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>