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

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

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

Saved successfully!

Ooh no, something went wrong!