Previous Contents Index DocHome Next |
Meta-Directory Deployment Guide |
Chapter 4 Meta-Directory Performance Tuning
There are several ways to tune the processing performance of Meta-Directory. In tuning, the overall goal is always to speed the flow of data through the Meta-Directory system. However, there are several systems to consider when you tune performance. For example, there are various configuration settings that affect the flow of data through the Meta-Directory components. Also, there are configuration settings that you can adjust to fine tune the performance of the Directory Server instances that you use in conjunction with your Meta-Directory system.This chapter focuses specifically on the settings you can configure to speed the flow of data through the Meta-Directory components. The next chapter, Chapter 5 "Tuning Directory Server," discusses the particular things you can do to tune the performance of the different Directory Sever instances running in your Meta-Directory system.
When configuring the Meta-Directory components and the Directory Server instances that host them, keep in mind that, compared to other Directory Server clients, Meta-Directory is particularly write intensive (especially to the meta view). Because of this, it's particularly important to optimize the write performance of the Directory Server instance that's hosting the Meta-Directory components. This is very different than tuning the performance of a Directory Server instance that is hosting a user directory. These are normally optimized for read performance.
This chapter contains the following topics:
Adding Meta-Directory Indexes
Adding Meta-Directory Indexes
To improve the performance of the Meta-Directory system, you should create indexes for certain attributes in the Meta-Directory object class. The Meta-Directory object class attributes are contained in the Meta-Directory schemayou must first load the Meta-Directory schema before you can index these attributes. This is discussed in the section "Loading Meta-Directory Schema".The Meta-Directory indexes are created and maintained by Directory Server. You create the indexes on each Directory Server instance based on the Meta-Directory views that are hosted by that Directory Server instance. In all, you can create indexes on the following five Meta-Directory object class attributes:
You can add these indexes through either the Directory Server console or from the command line.
Determining Which Indexes to Create
You create the indexes only on Directory Server instances that host Meta-Directory components. For example, if a particular Directory Server instance hosts only a meta view, then you should create and maintain the following Meta-Directory indexes on that Directory Server instance:
Table 4-1    Indexes for Directory Server Instances That Host a Meta View
Index Attribute
Index Settings
Likewise, if a Directory Server instance hosts only Meta-Directory connector views, then you need to create the following indexes on that Directory Server instance:
Table 4-2    Indexes for Directory Server Instances That Host Connector Views
Index Attribute
Index Settings
In addition to the above guidelines, you should also add the connector view indexes listed in Table 4-2 to a Directory Server instance that hosts the Meta-Directory configuration (o=NetscapeRoot) if that Directory Server instance also hosts a database (Oracle) connector view.
To Add Indexes From the Directory Server Console
To index attributes from the Directory Server 4.1x console, do the following:
Open the Directory Server console.
Navigate to the database index pane:
In the iPlanet Directory Server 5.0 console, choose the Configuration tab, expand the Data node, then select Database Settings in the navigation tree.
In the Netscape Directory Server 4.1x console, choose the Configuration tab and select the Database node in the navigation tree.
In the right-hand pane, click Add Attribute.
- The right-hand pane will display the attributes that are currently indexed.
Select the attribute name you want to index and click OK.
Select the indexes you want to create for the attribute (see Figure 4-1).
Repeat Steps 3 through 5 for each attribute listed in Table 4-1 and Table 4-2.
Figure 4-1    Adding Indexes for Meta-Directory Attributes
Bulk Loading Data
There are certain adjustments that you can make to speed the time it takes to populate a meta view with entries from a new data source.In particular, you should adjust the database cache sizes and the All IDs Threshold before you begin to load your initial sets of data into Meta-Directory.
Adjusting the Database Cache Size
If you are importing a very large database from LDIF, set the Maximum Cache Size parameter as large as possible. The larger you can set this parameter, the faster your database will be imported.Use the following rule-of-thumb to calculate the maximum cache size:
Determine how much free memory you have on your system.
For example, if you have 50 Mb of free memory on your system, divide 50 by 2 (giving a subtotal of 25 Mb) and subtract 1 MB, giving you a final total of 24 Mb. Here, you would set the Maximum Cache Size in Bytes parameter to 24000000.Divide the amount of free RAM by two and subtract 1 Mb from the subtotal.
At a minimum, you should set the database cache size to 10Mb.
To Set the Maximum Cache Size
To set the Maximum Cache Size in the iPlanet Directory Server console:
Open the iPlanet Directory Server console.
To set the Maximum Cache Size in the Netscape Directory Server 4.1x console:Choose the Configuration tab, expand the Data node, then select Database Settings in the navigation tree.
In the right pane, choose the LDBM Plug-in Setting tab.
Open the Directory Server console.
Choose the Configuration tab and select the Database node in the navigation tree.
In the right pane, choose the Performance tab.
Adjusting the All IDs Threshold
The All IDs Threshold is used to limit the size of Directory Server indexes (for a full description of this feature, see "Tuning the All IDs Threshold").Directory Server sets the default value for All IDs Threshold to 4,000. For Meta-Directory, this number is usually too low. For example, if you are flowing 100,000 entries from a connector view to an empty meta view, the recommended All IDs Threshold setting is 100,100. If you are flowing 300,000 entries, then set the All IDs Threshold to 300,100.
You should not bulk-load data into a Meta-Directory view until you have adjusted this setting.
For information on tuning the All IDs Threshold, refer to the iPlanet Directory Server Administrator's Guide.
Tuning the Data Servers
Meta-Directory has tuning parameters that pertain to the data servers that Meta-Directory accesses. You can configure these settings through the Data Server > Tuning tab in the Meta-Directory console.In particular, you should configure the Time of Search to fit your specific system needs.
Configuring the Time of Search
From the Meta-Directory console, you can specify several tuning parameters for the different Directory Server instances that you have running in your Meta-Directory setup. Of particular interest is the amount of time that a data server should spend before timing-out on a specific search.By default, the search time is set to 3,600 seconds (one hour). While this should be enough for most situations, you might need to adjust this setting if your system is deprived of resources.
If a system time-out occurs, the Directory Server in question will stop processing. If the log level is set to dataaccess=3, the following message will be written to the log file: DA_USER_TIMELIMIT_EXCEEDED.
Open the Meta-Directory console.
In the left pane, select Meta-Directory in the navigation tree.
In the right pane, choose the Data Servers tab to view the list of Directory Server instances used in your Meta-Directory setup.
Select the Directory Server instance which you need to adjust. A list of tabs will appear in the pane below.
Select the Tuning tab, then specify the new time-out setting in the Maximum Operation Result Time input box.
Tuning the I/O Block Time-Out Setting
In Directory Server 4.1x, you should adjust the IO Block Time Out setting to prevent the Directory Server from timing out during the time it takes the join engine to synchronize Meta-Directory views. This setting is located in the Directory Server configuration file, found at the following location:slapd_SERVER_ROOT/config/slapd.ldbm.conf
The IO Block Time Out setting controls the time-out period for stalled clients. The default setting for the Directory Server's ioblocktimeout parameter (180,000,000 ticks on the computer's system clock) may not be great enough to allow the synchronization of a large number of entries. As a result, the Directory Server may time out the synchronization process before your data is fully synchronized. You are more likely to see this on slower clients.
The default value of the ioblocktimeout parameter (stored in slapd.conf) of 180,000,000 ticks is usually enough. However, keep in mind that the number of ticks per second is computer and platform-dependent. If you see time-out errors, you may need to increase this value.
For more information about the ioblocktimeout parameter, refer to the iPlanet Directory Server Administrator's Guide.
Previous Contents Index DocHome Next
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
Last Updated August 06, 2001