Performance Tuning Guide - EMC Community Network
Performance Tuning Guide - EMC Community Network
Performance Tuning Guide - EMC Community Network
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Maximizing Process Throughput<br />
Minimizing and consolidating activities<br />
System throughput varies between 3-100 activities per second, depending on system configuration<br />
and hardware. Workflows with more activities take longer to complete.<br />
The largest performance impact for processing activities results from opening up a new Content<br />
Server session. As a result, the biggest performance improvement comes from minimizing the<br />
number of discrete activities in a workflow. Minimize the number of workflow activities by, 1)<br />
eliminating unnecessary activities altogether or 2) consolidating the steps performed by multiple<br />
activities, into a single condensed activity.<br />
To improve the completion rate of individual activities, do the following:<br />
• Use the bpm_noop template wherever possible. This particular noop does not create an additional<br />
template and does not send an HTTP post to the JMS.<br />
• Within the automatic activity, do the work on behalf of a superuser instead of a regular user.<br />
• Turn off auditing whenever unnecessary.<br />
Assessing activity completion rate<br />
A single workflow thread can process up to five activities per second (using the bpm_noop activity<br />
template), which works out to be 300 per minute and 18,000 per hour (depending on the specific<br />
activity and method being called).<br />
Understanding activity completion<br />
Each Content Server provides one workflow agent to process workflow activities and one Java<br />
Method Server (or Docbasic Method Server) to support up to 25 (nominally 15) workflow threads.<br />
The workflow agent polls the workflow queue for available activities (activities where the<br />
a_wq_name attribute of the activity has not yet been marked for processing). The workflow agent<br />
acquires available tasks from the queue and updates the a_wq_name attribute of the activity to mark<br />
the activity for processing.<br />
The workflow agent acquires 30 activities (if there are 30 activities in the queue) for every workflow<br />
thread. For example, if Content Server provides three workflow threads, the workflow agent picks<br />
up 30*3=90 activities. The workflow agent provides the 30 acquired activities to each workflow<br />
thread for processing.<br />
The workflow thread posts activities for processing by making an HTTP post to the Java Method<br />
Server or by issuing instructions to the Docbasic Method Server.<br />
The workflow agent does not poll for additional activities if the number of activities assigned to the<br />
threads is more than five times the number of threads (5*n, where n is the number of threads). When<br />
the workflow thread task count drops below 5*n, the workflow agent queries the workflow queue<br />
and repeats the process for additional available activities. If there are no available activities the<br />
workflow agent sleeps for a period defined by the polling interval. This sleep interval is defined in<br />
dm_server_config and is called wf_sleep_interval.<br />
<strong>EMC</strong> Documentum xCP 1.0 <strong>Performance</strong> <strong>Tuning</strong> <strong>Guide</strong> 27