Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun Java[tm] System Identity Manager 6.0 Tuning, Troubleshooting, and Error Messages 2005Q4M3  

1

Performance Tuning

This chapter provides information and guidelines for tuning Identity Manager performance. This information is organized into the following sections:

These sections include suggested tools, methodologies, and references for increasing performance and a list of resources for debugging performance-related issues.


Notes


Optimizing the J2EE Environment

Recommendations for improving JVM performance include:

Tools for Tuning the JVM

Sun JVM tuning recommendations derive from performance increases in throughputs for a series of tested use cases, as shown in the following table.

Scenario/Task

Users

Throughput Increase

Create user

100

Between 20 and 25%

Approve user

50

700%

Edit user

20

10%

Increases illustrated in this table are due to JVM sizing and switches that affect garbage collector behavior, and HTTP container tuning.

Suggested tunings for the JVM resulted from:

  1. Collecting statistics about garbage collector behavior by adding these flags to the server.xml file:
  2. <jvm-options> -verbose:gc </jvm-options>
    <jvm-options> -XX:+PrintGCTimeStamps </jvm-options>
    <jvm-options> -XX:+PrintGCDetails </jvm-options>

  3. Analyzing the collected statistics by using a data mining script called PrinGCStats. This script summarizes the garbage collector activity from the detailed garbage collector logs.
  4. You can download the PrintGCStats script from the Sun Java Developers site:

    http://java.sun.com/developer/technicalArticles/Programming/turbo/PrintGCStats.zip

    For more information about using the script, and about how to use the collected statistics to derive optimal JVM tunings, go to:

    http://java.sun.com/developer/technicalArticles/Programming/turbo

Tools for Tuning the HTTP Container

You can analyze data gathered from the perfdump script to identify potential bottlenecks in application server HTTP container performance, and to derive appropriate sizing for thread and connection pools and queues in the HTTP container.

For information about how to use perfdump to gather HTTP container statistics, and how to use the gathered statistics to tune the HTTP container, go to:

http://docs/sun.com/


Optimizing the Database Repository

Implement these repository optimization suggestions, as appropriate:


Optimizing the Identity Manager Product

Identity Manager product optimization suggestions are divided among these areas:

General

Some general suggestions for optimizing Identity Manager include:

Task Bar

The Administrator Interface task bar shows links to all previously performed provisioning tasks. This causes the interface to render more slowly when there are a large number of tasks.

To improve interface performance, you can remove the taskResults.jsp link from all JSPs. To do this, modify the UserUIConfig object and remove the <List>...</List> element.

In the following example, you would remove the <List>...</List> entries within <TaskBarPages>:

<TaskBarPages>
  <List>
    <String>account/list.jsp</String>
    <String>account/find.jsp</String>
    <String>account/dofindexisting.jsp</String>
    <String>account/resourceReprovision.jsp></String>
    <String>task/newresults.jsp</String>
    <String>home/index.jsp</String>
  </List>
</TaskBarPages>

Provisioner

Recommendations for optimizing provisioner performance include:

Session

Identity Manager maintains a least recently used (LRU) cache of authenticated sessions for use by authenticated users. By using existing, authenticated sessions, you can speed repository access for objects and actions that require a session.

To optimize authentication pool size, change the session.userPoolSize value in the Waveset.properties file to the maximum number of expected, concurrent user sessions on the server.


Note  Do not exceed a value of 100, as performance degrades significantly at higher values.

Workflow

Recommendations for optimizing workflow include:

ManualAction and WorkItem

Performance recommendations in this area include:

Forms

Recommendations for optimizing forms performance include:

Resource Query

To increase resource query performance, implement the query using FormUtil.getResourceObjects.

Cache query results by using the following methods:

Reconciliation

To optimize reconciliation performance:


Optimizing the General XML

In general, use static XMLObject declarations if possible. For example, use:

Depending on the context, you may also need to wrap an object instead of using the <o></o> element.


Debugging Performance Issues

The following debugging pages, available from the Administrator Interface, provide helpful information for optimizing performance:



Previous      Contents      Index      Next     


Copyright 2006 Sun Microsystems, Inc. All rights reserved.