Review all of the information in this section before you start tuning Identity Manager.
The tuning methods described in this chapter are only provided as guidelines. You might have to modify some of these tunings for your deployment. In addition, Be sure to validate tunings before applying changes in a production environment.
Before you can tune Identity Manager, you must:
Be familiar with tuning application servers
Be familiar with Java 5.0 (required for Sun Identity Manager 8.1)
Understand performance limitations within your deployment environment
Be able to identify areas needing performance improvements
Understand the checklists provided in this chapter
In addition to the information provided in this chapter, consult the documents and web sites listed in this section for information related to tuning Identity Manager.
See the following documents for information related to performance tuning.
Table 4–1 Related Documentation
document Title |
Description |
---|---|
IBM Developer Kit and Runtime Environment, Java Technology Edition, Version 5.0 Diagnostics Guide |
Explains how to use AIX JVM to diagnose performance problems. |
Contains information, techniques, and pointers related to Java performance tuning. |
|
Oracle MetaLink: Note:114671.1: Gathering Statistics for the Cost Based Optimizer |
Explains how to use system statistics and Oracle®’s Cost-Based Optimizer (CBO). Note: This document is available to Oracle Metalink subscribers. Registration is required. |
Solaris Dynamic Tracing Guide |
Explains how to use DTrace to observe, debug, and tune your system's behavior. |
Sun JavaTM System Application Server Performance Tuning Guide |
Describes how to obtain optimal performance from your Sun Java System Application Server. Download the necessary version of this book from the Sun Microsystems documentation web site. |
Describes how to tune your garbage collection application by using JVM. |
|
Explains how to download and use the PrintGCStats script and how to collect statistics to derive optimal JVM tunings. |
|
Describes how Oracle’s Cost-Based Optimizer uses system statistics. |
|
Describes how to use JConsole to monitor applications that run on the Java platform. |
The following table describes some web sites that you might find useful when trying to tune Identity Manager performance.
Table 4–2 Useful Web Sites
Web Site URL |
Description |
---|---|
Sun web site containing diagnostic tools, forums, features and articles, security information, and patch contents. Note: The information on this site is divided into three areas:
|
|
Sun Developer Network (SDN) web site where you can browse forums and post questions. |
|
JRat web site that describes how to use the Java Runtime Analysis Toolkit, an open source performance profiler for the Java platform. |
|
Oracle’s internal forum site that contains information about tuning Oracle databases. Note: You must be an Oracle Metalink subscriber to access the information provided on this site. |
|
http://performance.netbeans.org/howto/jvmswitches/index.html |
NetBeansTM web site containing information about tuning JVM switches for performance. |
Identity Manager link on Sun’s Share Space. Note: You must sign up for a Share Space ID to access information provided on this site. |
|
Identity Manager FAQ on Sun’s Share Space. Note: You must sign up for a Share Space ID to access this FAQ. |
|
SLAMD Distributed Load Generation Engine web site. |
|
OpenSolaris Community: DTrace web page. |
|
Web sites containing information related to tuning the Solaris OS. |
How well your Identity Manager solution performs can depend on the following deployment-specific settings:
Resource configuration
How many resources are connecting
What type of resources are connecting
How attributes are mapped on the resources
Exact resource version
Network topology
Number (and distribution) of domain controllers
Number of installed Identity Manager Gateways
Number of concurrent settings
Number of concurrent processes (running workflows)
Number of concurrent users
Number of concurrent Identity Manager administrators
Total number of users under management
When you are trying to debug performance problems, start by analyzing and describing the problem. Ask yourself the following questions:
Where do you see the performance issue? In reconciliation, workflows, custom workflows, GUI page loading, provisioning, Access Review?
Are you CPU bound, memory bound, resource bound, or network bound?
Have you examined your configuration (hardware, network, parameters, and so forth) for problems?
Have you recently changed anything in your deployment environment?
Have you tried profiling troublesome resources natively to see if the problem is on the resource side and not with Identity Manager?
What size are the views?
Are you provisioning to several resources?
Are resources on slow networks connecting to Identity Manager?
Are you running additional applications on the server with Identity Manager?
Do your organizations have a Rule-Driven Members rule?
Have you run a series of thread dumps to see if there is a consistent pattern?
Looking at just a single thread dump can be misleading.
Have you recently turned on tracing?
Have you checked your JVM garbage collection?
Have you added organizations that are adding load to memory management?