Sun Java System Directory Server Enterprise Edition 6.3 Deployment Planning Guide

The Tuning Process

To tune performance implies modification of the default configuration to reflect specific deployment requirements. The following list of process phases covers the key things to think about when tuning Directory Server.

Define goals

Define specific, measurable objectives for tuning, based on deployment requirements.

Consider the following questions.

  • Which applications use Directory Server?

  • Can you dedicate the entire system to Directory Server?

    Does the system run other applications?

    If so, which other applications run on the system?

  • How many entries are handled by the deployment?

    How large are the entries?

  • How many searches per second must Directory Server support?

    What types of searches are expected?

  • How many updates per second must Directory Server support?

    What types of updates are expected?

  • What sort of peak update and search rates are expected?

    What average rates are expected?

  • Does the deployment call for repeated bulk import initialization on this system?

    If so, how often do you expect to import data? How many entries are imported?

    What types of entries?

    Must initialization be performed online with the server running?

The list here is not exhaustive. Ensure that your list of goals is exhaustive.

Select methods

Determine how you plan to implement optimizations. Also, determine how you plan to measure and analyze optimizations.

Consider the following questions.

  • Can you change the hardware configuration of the system?

  • Are you limited to using hardware that you already have, tuning only the underlying operating system, and Directory Server?

  • How can you simulate other applications?

  • How should you generate representative data samples for testing?

  • How should you measure results?

  • How should you analyze results?

Perform tests

Carry out the tests that you planned. For large, complex deployments, this phase can take considerable time.

Verify results

Check whether the potential optimizations tested reach the goals defined at the outset of the process.

If the optimizations reach the goals, document the results.

If the optimizations do not reach the goals, profile and monitor Directory Server.

Profile and monitor

Profile and monitor the behavior of Directory Server after applying the potential modifications.

Collect measurements of all relative behavior.

Plot and analyze

Plot and analyze the behavior that you observed while profiling and monitoring. Attempt to find evidence and to discover patterns that suggest further tests.

You might need to go back to the profiling and monitoring phase to collect more data.

Tweak and tune

Apply further potential optimizations suggested by your analysis of measurements.

Return to the phase of performing tests.

Document results

When the optimizations applied reach the goals defined at the outset of the process, document the optimizations well so the optimizations can be easily reproduced.