Previous Topic: Operating System TuningNext Topic: Password Services


Tune the Shared Memory Segments

If you install an Apache or Oracle iPlanet Web Agent on Solaris systems, you must tune the operating system’s shared memory settings for the Web Agent to function correctly. By increasing the operating system’s shared memory segments, you improve the performance of the Web Agent. The variables that control shared memory segments are defined in the operating system’s specification file.

For AIX operating systems, you must run the following command before starting an Apache server:

export EXTSHM=ON

Note: You may need to tune the shared memory segments if you are using Linux. For more information about the shared memory segments and how to tune them, see the documentation for your particular operating system.

To increase shared memory segments

  1. Follow the appropriate procedure for your operating system:
  2. Modify the shared memory variables using one of the following methods:
    shmsys:shminfo_shmmax

    Specifies the maximum shared memory segment size. Controls the maximum size of the Agent resource and session cache.

    Note: To estimate the amount of memory segments that are required, allocate 4 KBs per entry in each cache, or view cache usage statistics in the OneView Monitor. See the Web Agent Configuration Guide for more information about using the OneView Monitor.

    Example: 33554432 (32 MB) for busy sites that require large caches.

    shmsys:shminfo_shmmin

    (Not required for Solaris) Minimum shared memory segment size. Controls the minimum size of the Agent resource and session cache.

    shmsys:shminfo_shmmni

    Specifies the maximum number of shared memory segments that can exist simultaneously, systemwide.

    Example: (except Solaris 9) N/A

    Example: (Solaris 9) 200

    shmsys:shminfo_shmseg

    (Not required for Solaris 9) Specifies the maximum number of shared memory segments per process.

    Example: 24

    semsys:seminfo_semmni

    Specifies the number of semaphore identifiers. Use 11 for every instance of the Agent that you run on the system.

    Example: (except Solaris 9) 100

    Example: (Solaris 9) 200

    semsys:seminfo_semmns

    Specifies the number of semaphores in the system. Use 10 for every instance of the Agent that you run on the system.

    Example: (Solaris 9) 100

    Example: (Solaris 9) 400

    semsys:seminfo_semmnu

    Specifies the number of processes using the undo facility. For optimal performance, set the semmnu value so it exceeds the number of Apache child processes running on the system at any one time. For Apache–based servers, use a value exceeding the maxclients setting by 200 or more.

    Example: (Solaris 9) 200

  3. Save your changes then exit the file or the utility.
  4. Reboot the system.
  5. Verify your changes by entering the command:
    $ sysdef -i
    

How to Tune the Solaris 10 Resource Controls

Tune the resource controls at the project level to improve the performance of the agent.

Note: See your Solaris documentation for more information.

Tuning the resource controls on Solaris 10 uses the following process:

  1. Determine the project that is associated with the user account under which the Web Agent runs.
  2. Increase the settings for any of the following resource controls of that project:
    project.max-shm-ids

    Specifies the maximum shared memory IDs for a project.

    project.max-sem-ids

    Specifies the maximum number of semaphore IDs for a project.

    project.max-msg-ids

    Specifies the maximum number of message queue IDs for a project.

    project.max-shm-memory

    Specifies the total amount of shared memory allowed for a project.

    process.max-sem-nsems

    Specifies the maximum number of semaphores allowed per semaphore set.

    process.max-sem-ops

    Specifies the maximum number of semaphore operations allowed per semop.

    process.max-msg-messages

    Specifies the maximum number of messages on a message queue.

    process.max-msg-qbytes

    Specifies the maximum number of bytes of messages on a message queue.