30.01.2015 Views

Designing processes - EMC Community Network

Designing processes - EMC Community Network

Designing processes - 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.

Performance and Scalability<br />

Skill-set matching<br />

Skill-set matching is another feature that, if not used wisely, can lead to system performance issues.<br />

There are two reasons for system performance issues.<br />

First, skill-set matching involves row-by-row processing where every task that returns in a task list is<br />

evaluated against the user’s competency. This is a drain on system resources.<br />

Second, skill-set matching does not use task list database query language (DQL) optimizations.<br />

Without skill-set matching, a task list brings back the first 100 to 300 tasks. This means that the data<br />

list generated requires less resource consumption and performs faster. To bring back the tasks to the<br />

user when the system matches user skills against tasks, it requires the whole data list.<br />

This means that all tasks are sent to the application server for evaluation against the skill-set. If a task<br />

list contains 10,000 tasks, it brings back 10,000 tasks. Even if the user matches one task out of 10,000<br />

the system still brings back 10,000 tasks, which takes time. A task list with 10,000 tasks that does<br />

not match skill-sets brings back 100 to 300 tasks depending on the number of SDTs involved. It is a<br />

best practice to calculate a baseline timing of a task list before implementing skill-sets. This baseline<br />

calculation enables you to determine how skill-set matching impacts performance. It is important to<br />

realize that performance costs grow as the number of tasks grow in a task list. For example, a task list<br />

that returns 100,000 tasks is unusable.<br />

Logins<br />

The user login operation takes 2 seconds to 10 seconds to complete. The variable that most influences<br />

the login time is the landing tab that opens after a user logs in. If the client prefers a fast login, then set<br />

the landing page to the default page or to a blank search page. However, if the user has a preference<br />

about the tab, then the time to log in can take longer.<br />

Recommended application server settings<br />

<strong>EMC</strong> recommends using the following application server settings:<br />

Recommended Java Flags for a tomcat server<br />

JAVA_OPTS=-server -Xms1024m -Xmx1024m -XX:MaxPermSize=256m -XX:+UseParallelOldGC<br />

Server flag (-server) explanation<br />

JVM server mode provides better performance for long running tests. This must be the first flag.<br />

Permanent generation (-XX:MaxPermSize) explanation<br />

The application dynamically generates and loads many classes expanding the space in the heap to<br />

accommodate its reuse.<br />

Parallel garbage collection (-XX:+UseParallelOldGC) explanation<br />

This allows the JVM to use parallel garbage collection for the full collections.<br />

JVM Capacity<br />

Heap size and threads control the number of users the JVM can support. A JVM can accommodate 150<br />

to 300 users per instance depending on the user activity footprint (opening large forms can reduce the<br />

number of users) and throughput (how fast they are trying to finish the tasks). Response times degrade<br />

as more users enter the JVM. The degradation is due to non-availability of free heap space and users<br />

waiting for available threads. <strong>EMC</strong> recommends a 1024 MB heap. A heap size smaller than 512 MB<br />

100 <strong>EMC</strong> Documentum xCelerated Composition Platform Version 1.6 Best Practices Guide

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

Saved successfully!

Ooh no, something went wrong!