Sun OpenSSO Enterprise 8.0 Performance Tuning Guide

Special Performance Settings

The following parameters mainly are used internally by amtune.


Caution – Caution –

Do not modify these parameters unless tests show significant improvement in performance.


AMTUNE_PCT_MEMORY_TO_USE

Description:

Specifies a percentage value how much of the machine's available memory will be used by OpenSSO Enterprise.

Required:

Yes

Sample Values:

0 to 100

Default Value:

75

Additional Information:

Do not modify this percentage unless tests show significant improvement in performance.

OpenSSO Enterprise currently recommends at least 1 GB of RAM in deployment. OpenSSO can use a maximum of 4GB for 32-bit JRE. This is the per-process address space limit for 32-bit applications.

When you set AMTUNE_PCT_MEMORY_TO_USE to 100, the maximum space allocated for OpenSSO is the lesser of 4GB and 100% of available RAM for 32-bit JRE.

When you set AMTUNE_PCT_MEMORY_TO_USE to 0, OpenSSO is configured to use 256MB RAM.

This value is the driving force in tuning OpenSSO. The following values are derived from this setting:

JVM memory use

Heap and new generation sizes.

Thread pool sizes

Web Server thread pool and OpenSSO Enterprise authentication, user and service/configuration data store LDAP connection pools and session notification thread pool.

Session entries

Maximum number of session entries.

For 64-bit JRE, the amtune tool limits the initial heap size (-Xms) to 12 GB for Web Server 7 and Application Server 9.1/Glassfish v2, although it can be increased manually to a bigger heap size, if the Solaris operating system has at least twice as much virtual memory (swap space) as the desired initial JRE heap size. There is no limit for the maximum heap size (-Xmx).

Using 64-bit JRE, the user session cache size and number of sessionsare calculated by the amtune tool, and can be many times of those calculated in case for 32-bit JRE, depending on the available memory. Be sure to review these numbers and determine whether or not they are appropriate .

AMTUNE_MEM_MAX_HEAP_SIZE_RATIO

Description:

These parameters are used to calculate the maximum and minimum heap sizes. Options include:

  • AMTUNE_MEM_MAX_HEAP_SIZE_RATIO

  • AMTUNE_MEM_MIN_HEAP_SIZE_RATIO

Required:

Yes

Sample Values:
Maximum heap size ratio

7/8

Minimum heap size ratio

1/2

Additional Information:

Do not modify these ratios unless tests show significant improvement in performance.

Web Server 7, Application Server 9.1 and GlassFish v2 use about 1/8 of the OpenSSO Enterprise JRE process heap size, leaving about 7/8 for OpenSSO Enterprise. You should change these ratios only for 64-bit JRE. For 32-bit JRE, keep the default values.

AMTUNE_PER_THREAD_STACK_SIZE

Description:

Specifies available stack space per thread in JVM. Per-thread stack size is used to tune various thread-related parameters in OpenSSO Enterprise and its web container. Options include:

  • AMTUNE_PER_THREAD_STACK_SIZE_IN_KB

  • AMTUNE_PER_THREAD_STACK_SIZE_IN_KB_64_BIT

Required:

Yes

Sample Values:
32–bit JRE

128KB

64–bit JRE

512KB

Default Value:

None

Additional Information:

Do not modify these values.

AMTUNE_*_MEMORY_TO_USE_IN_MB_*

Description:

Maximum amount of memory that should not be exceeded for 32-bit JRE on different platforms. AMTUNE_MAX_MEMORY_TO_USE_IN_MB_X86 is used to limit the maximum JRE heap size on Linux installed on x86 hardware due to limitations on how much JRE heap size can be allowed even with 32-bit JRE.

Options include:

  • AMTUNE_MIN_MEMORY_TO_USE_IN_MB

  • AMTUNE_MAX_MEMORY_TO_USE_IN_MB_SOLARIS

  • AMTUNE_MAX_MEMORY_TO_USE_IN_MB_X86

  • AMTUNE_MAX_MEMORY_TO_USE_IN_MB_DEFAULT (for Windows)

Required:

Yes

Default Values

AMTUNE_MIN_MEMORY_TO_USE_IN_MB=512

AMTUNE_MAX_MEMORY_TO_USE_IN_MB_SOLARIS=3584 (Sparc/x86/AIX)

AMTUNE_MAX_MEMORY_TO_USE_IN_MB_X86=2341 (Linux)

AMTUNE_MAX_MEMORY_TO_USE_IN_MB_DEFAULT=1536 (Windows)

Additional Information:

Do not modify these values. If the maximum values are changed to higher numbers, the web container will not start on these platforms due to a JRE crash.