PingDirectory

Sizing the global indexes

Use the PingDirectoryProxy server global-index-size tool to help you estimate the memory size of your global indexes.

About this task

You can estimate the size of more than one index in a single invocation by providing multiple sets of options.

The global-index-size tool creates its estimate using the following information:

Number of keys in the index

For example, for the built-in relative distinguished name (RDN) index, the number of keys is the total number of entries in the PingDirectory server that are immediately below the balancing point. Entries more than one level below the balancing point and entries that are not subordinate to the balancing point aren’t contained in the RDN index. For attribute indexes, the number of keys is the number of unique values for that attribute in the entry-balanced portion of the data.

Average size of each key, in bytes

For attributes indexes, the key is the attribute value. For the built-in RDN index, the key is the RDN directly below the balancing base distinguished name (DN). For example, for the DN uid=user.0,dc=example,dc=com under the balancing base DN of dc=example,dc=com, the key size is 10 bytes (the number of bytes in the RDN uid=user.0).

Estimated number of keys

This value corresponds to the maximum number of keys you expect in your PingDirectory server. The number of keys is provided in the index-size configuration property of the global-attribute-index object when you configure an attribute index. For the built-in RDN index, the configured number of keys is provided in the rdn-index-size property. If you do not provide a value, the tool assumes that the configured number of keys is the same as the actual number of keys.

Steps

  • To estimate the size of two separate indexes, run the global-index-size tool.

    Example:

    In this example, the two indexes both have 10,000,000 keys but with differing average key sizes. The configured number of keys is assumed to be equal to the actual number of keys.

    $ bin/global-index-size --numKeys 10000000 \
      --averageKeySize 11 --numKeys 10000000 \
      --averageKeySize 15
    
    Num Keys : Cfg. Num Keys : Avg. Key Size : Est. Memory Size
    ---------:---------------:---------------:-----------------
    10000000 : 10000000      : 11            : 159 mb
    10000000 : 10000000      : 15            : 197 mb