The Sun JavaTM System Access Manager 7.1 tuning scripts allow you to tune Access Manager and other components of your deployment, including Sun Java System Directory Server, the web container running Access Manager, and the operating system (OS) kernel and TCP/IP parameters.
This chapter includes the following topics:
The Access Manager tuning scripts are non-interactive. To run a script, you first edit the parameters in the amtune-env configuration file to specify the tuning options you want to set for your specific environment. Then, you run either the amtune script, which calls other scripts as needed, or a specific script. For example, you might run only the amtune-identity script to tune only Access Manager.
The Access Manager tuning scripts and the amtune-env configuration file are installed in the following directory, depending on your platform:
Windows systems: javaes-install-directory\identity\bin\amtune
AccessManager-base is the Access Manager 7.1 base installation directory. The default base installation directory is /opt on Solaris systems and /opt/sun on Linux systems.
On Windows systems, the default value for javaes-install-directory is C:\Program Files\Sun\JavaES5.
The following table describes the tuning scripts that are available in the Access Manager 7.1 release. See also Tuning Scripts for Windows Systems.
Table 2–1 Access Manager Tuning Scripts
Script |
Description |
---|---|
Wrapper script that calls other scripts based on values in the amtune-env file. |
|
Tunes the installed instance of Access Manager. Before you run the amtune-identity tuning script, it is recommended that you add the following property set to false to the AMConfig.properties file: com.sun.identity.log.resolveHostName=false A value of false minimizes the impact of resolving host names and thus can improve performance. (However, if you want the client machine's hostname to be printed in the amAuthentication.access log, set the value to true.) This script supports Web Server in JVM 64-bit mode. If Web Server 7.0 is the web container, it determines if Web Server 7.0 is running in 64-bit or 32-bit mode and then calculates the tuning parameters accordingly. |
|
amtune-os Not available on Windows systems |
Tunes the operating system kernel and TCP/IP parameters for both the Solaris OS and Linux OS. The script determines the OS type from the uname -s command. The amtune-oswill not run if the wrapper amtune script is run in a global zone on Solaris 10 or higher. |
amtune-ws7 |
Tunes the Sun Java System Web Server 7.0 web container. This script supports Web Server in JVM 64-bit mode. It determines if Web Server 7.0 is running in 64-bit or 32-bit mode and then calculates the tuning parameters accordingly. |
Tunes the Sun Java System Web Server 6.1 2005Q4 SP5 web container. |
|
Tunes the Sun Java System Application Server Enterprise Edition 8.2 Web container. |
|
Tunes the Sun Java System Application Server 7 Web container. |
|
Generates the amtune-directory script, which you can use to tune the Directory Server that supports Access Manager. For more information, see Chapter 3, Directory Server Tuning. |
Access Manager 7.1 includes tuning scripts for Microsoft Windows systems. Running the tuning scripts on a Windows system is similar to running the scripts on a Solaris system or Linux system, with these differences:
The Windows scripts are written in Perl and require Active Perl 5.8 to run.
A script to tune the Windows operating system is not available.
Before running a script, you must set the $BASEDIR parameter in the amtune-env.pl file to the Access Manager installation directory.
If you are tuning Directory Server, after running the amtune-prepareDSTuner.pl script, you must copy the amtune-utils.pl, amtune-directory.pl, and amtune-samplepasswordfile files to the Directory Server system.
Support for zones is not provided.
The Access Manager tuning scripts can run in the following modes, as determined by the AMTUNE_MODE parameter in the amtune-env file.
REVIEW mode (default). The scripts return tuning recommendations for an Access Manager deployment, but they do not make any actual changes to the environment.
CHANGE mode. The scripts make all of the tuning modifications that are defined in the amtune-env file, except for Directory Server. For information, see Chapter 3, Directory Server Tuning.
In either mode, the scripts return a list of tuning recommendations to the amtune debug log file and the terminal window. The location of the log file is determined by the com.iplanet.services.debug.directory parameter in the AMConfig.properties file. The default debug directory depends on your platform:
Solaris systems: /var/opt/SUNWam/debug
Linux and HP-UX systems: /var/opt/sun/identity/debug
Windows systems: javaes-install-directory\identity\debug where the default value for javaes-install-directory is C:\Program Files\Sun\JavaES5.
Tuning is an iterative process that can vary for different deployments. The Access Manager tuning scripts try to apply the optimal tuning parameter settings. However, each deployment is unique and might require further customization to suit specific requirements.
Therefore, it is recommended that you first run a script in REVIEW mode and check the recommended changes in the amtune debug log file. Run the scripts in CHANGE mode only after you have reviewed the recommended tuning changes that will be applied to your deployment.
To run a tuning script, use the following syntax:
amtune-script admin_password dirmanager_password [ as8_admin_password ]
The tuning script parameters are:
amtune-script is one of the tuning scripts: amtune, amtune-identity, amtune-os, amtune-ws61, amtune-as7, amtune-as8, or amtune-prepareDSTuner.
admin_password is the Access Manager Administrator password.
dirmanager_password is the Directory Manager (cn=Directory Manager) password.
as8_admin_password is the Administrator password that is required if you are tuning Application Server 8 (WEB_CONTAINER=AS8).
Follow these basic steps to run an Access Manager Tuning script.
If you have not run the script in REVIEW mode, ensure that AMTUNE_MODE=REVIEW (which is the default value) in the amtune-env file.
Edit other parameters in the amtune-env file, depending on the components you want to tune and the requirements for your deployment:
Web Server 7.0 Tuning Parameters, if Web Server 7.0 is the web container
Application Server 8 Tuning Parameters, if Application Server 8 is the web container
To tune the Directory Server that supports Access Manager, see Chapter 3, Directory Server Tuning.
In REVIEW mode, run either the amtune script or one of the component scripts.
Review the tuning recommendations in the debug log file. If needed, make changes to the amtune-env file based on this run.
If you are satisfied with the tuning recommendations from the REVIEW mode run, set AMTUNE_MODE=CHANGE in the amtune-env file.
In CHANGE mode, run either the amtune script or one of the component scripts.
For example, to tune the Solaris OS, run the amtune-os script, as follows:
# ./amtune-os admin_password dirmanager_password |
In CHANGE mode, the amtune script might need to restart the web container and Access Manager. In some instances, amtune might also recommend a system restart.
This property specifies the number of minutes to delay the purge session operation. The value recommended by amtune is 0 or 1, depending upon the Access Manager version you're using. For clients such as Sun Java System Portal Server, a higher value may be needed. You must manually set the property after you run the amtune script:
In the AMConfig.properties file, set the property to the new value. For example:
com.iplanet.am.session.purgedelay=5
Restart the Access Manager web container for the new value to take effect.
The amtune-env file contains the parameters to define the tuning options for an Access Manager deployment, including:
For a description of the Directory Server parameters, see Chapter 3, Directory Server Tuning.
The following table describes the specific parameters for tuning Access Manager.
Table 2–2 Access Manager Tuning Parameters
Parameter |
Description |
---|---|
Sets the tuning mode to one of the following:
Default: REVIEW |
|
Tunes the operating system kernel and TCP/IP settings. Default: true |
|
Generates a script to tune the Directory Server that supports Access Manager. Default: true |
|
Tunes the Access Manager web container, which can be either Web Server or Application Server. Default: true |
|
Tunes the installed instance of Access Manager. Default: true |
|
AMTUNE_LOG_LEVEL |
Specifies the log level for the output of the run: NONE — No results will be logged or displayed. TERM — Display results on the terminal only. FILE — Display the results and log in the debug log file. Default: FILE |
Identifies the prefix for the amtune log file. If this parameter is set, all operations performed by the amtune scripts are logged. The location of the log file is determined by the com.iplanet.services.debug.directory parameter in the AMConfig.properties file. If Access Manager is not installed on the server, the debug log file is written to the directory when the tuning scripts exist. For example, if a Distributed Authentication UI server is deployed from a WAR file. Default: amtune |
|
Specifies the percent of available memory used by Access Manager. Currently, Access Manager can use a maximum of 4 GB, which is the per process address space limit for 32-bit applications. Access Manager requires a minimum of 256 MB RAM. When you set AMTUNE_PCT_MEMORY_TO_USE to 100, the maximum space allocated for Access Manager is the minimum between 4 GB and 100% of available RAM. When you set AMTUNE_PCT_MEMORY_TO_USE to 0, Access Manager is configured to use 256 MB RAM Default: 75 The following values are derived from this parameter setting:
AMConfig.properties File Settings Notification thread pool settings: com.iplanet.am.notification.threadpool.size com.iplanet.am.notification.threadpool.threshold SDK cache maximum size setting: com.iplanet.am.sdk.cache.maxsize Session settings: com.iplanet.am.session.httpSession.enabled com.iplanet.am.session.maxSessions |
|
Sets the available stack space per thread in Java (Web container). The per thread stack size is used to tune various thread-related parameters in Access Manager and the Web container. Default: 128 KB Caution: Do not change this value unless absolutely necessary. |
|
AMTUNE_PER_THREAD_STACK_SIZE_IN_KB_64_BIT |
Sets the available stack space per thread in Java (Web container) when the script detects Web Server 7.0 is running as a 64-bit process. Default: 512 KB |
AMTUNE_MEM_MAX_HEAP_SIZE_RATIO |
Specifies the maximum heap size ratio that is used to calculate the maximum and minimum heap sizes. Default: 7/8 Note: If you are running the amtune-ws7 script with 64-bit enabled and the system has a large memory, the script displays the current value of AMTUNE_MEM_MAX_HEAP_SIZE_RATIO and the maximum and minimum heap sizes calculated from this value. If these values are sufficient, you do not need to make any changes. However, in some situations, you might need to modify the value of AMTUNE_MEM_MAX_HEAP_SIZE_RATIO. |
AMTUNE_MIN_MEMORY_TO_USE_IN_MB AMTUNE_MAX_MEMORY_TO_USE_IN_MB |
Specifies the minimum and maximum memory in MB that should not be exceeded. Defaults: 512 and 3584 If Web Server 7.0 is running in a 64-bit process, the AMTUNE_MAX_MEMORY_TO_USE_IN_MB parameter is not used. It is recommended that you use the default values. |
Specifies whether session time-out tuning using the next three parameters is enabled. To enable, set to false. Default: true |
|
Sets the maximum session time in minutes. Default: 60 However, the default value might be different for your installation. If the session service is registered and customized at the any other level, the tuning will not apply. Setting this parameter to very high or very low values affects the number of active user sessions an Access Manager deployment can support, so this parameter is optional for tuning purposes. To use this parameter, AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS must be set to false. |
|
Sets the maximum idle time for a session in minutes. Default: 10 However, the default value might be different for your installation. If the Session service is registered and customized at the any other level, the tuning will not apply. Setting this parameter to very high or very low values affects the number of active user sessions an Access Manager deployment can support, so this parameter is optional for tuning purposes. To use this parameter, AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS must be set to false. |
|
Sets the maximum session cache time in minutes. Default: 2 However, the default value might be different for your installation. If the Session service is registered and customized at the any other level, the tuning will not apply. Setting this parameter to very high or very low values affects the number of active use sessions an Access Manager deployment can support, so this parameter is optional for tuning purposes. To use this parameter, AM_TUNE_DONT_TOUCH_SESSION_PARAMETERS must be set to false. |
The following table describes the Access Manager installation environment tuning parameters.
The OSTYPE, OSPLATFORM, and HWPLATFORM parameters are used to construct other parameters, so you should not need to change their values.
The following table describes the tuning parameters that you can set when you are running Web Server 7.0 as the Access Manager web container.
Table 2–4 Web Server 7.0 Tuning Parameters
Parameter |
Description |
---|---|
WSADMIN |
Specifies the location of the wsadmin utility. Default: Solaris systems: /opt/SUNWwbsvr7/bin/wadm Linux systems: /opt/sun/webserver7/bin/wadm |
WSADMIN_USER |
Specifies the Web Server 7.0 administrator. Default: admin |
WSADMIN_PASSFILE |
Specifies the Web Server 7.0 temporary password file used by the wsadmin utility. Default: /tmp/passfile |
WSADMIN_HOST |
Specifies the Web Server 7.0 admin host name. Default: localhost ($HOSTNAME) |
WSADMIN_PORT |
Specifies the Web Server 7.0 admin port. Default: 8989 |
WSADMIN_DIR |
Specifies the Web Server 7.0 installation directory. |
WSADMIN_SECURE |
Specifies whether WSADMIN_PORT is a secure port. "--ssl=true" indicates a secure port. "--ssl=false" indicates the port is not secure. Default: "--ssl=true" |
WSADMIN_CONFIG |
Specifies the Web Server 7.0 instance name. Default: $WEB_CONTAINER_INSTANCE_NAME |
WSADMIN_HTTPLISTENER |
Specifies the Web Server 7.0 HTTP listener name. Default: http-listener-1 |
The following table describes the tuning parameters that you can set when you are using Application Server 8 as the Access Manager web container.
Table 2–5 Application Server 8 Web Container Tuning Parameters