Red Hat Directory Server 7.1 for HP-UX 11i v2 Integrity system Performance Tuning and Sizing Guidelines May 23 , 2008 U.S.A. ©2006-2008 Hewlett-Packard Development Company, L.P.
Red Hat Directory Server 7.1 Performance Tuning and Sizning Guidelines History Version 1.0 1.1 1.2 1.
History ...........................................................................................................................................................................i Overview.......................................................................................................................................................................1 Product Overview .........................................................................................................................................
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Overview Product Overview Red Hat Directory Server for HP-UX provides an industry standard centralized directory service to build your intranet or extranet on. Your directory-enabled applications use the directory service as a common, networkaccessible location for storing shared data such as user and group identification, server identification, and access control information.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Operating System and System Parameter Tuning • • • • • • PHKL_34032 and PHCO_33675 are installed. These two patches will improve the HP-UX 11i v2 pthread performance in general. Two pthread tuning environment variables PERF_ENABLE and PTHREAD_FORCE_SCOPE_SYSTEM are set to 1 to force the 1x1 thread model. The default thread models are different on different HP-UX releases.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Sizing and Tuning Recommendations Sizing Guidelines Systems HP Integrity (IA64) Servers Any HP IA64 architecture with an Intel® Itanium2 Processor or an Intel® Itanium2 dual core Processor and supports HP-UX 11i v2 (Preferably HP-UX 11i v2 September 2004 or later release) can be utilized as an Red Hat Directory Server. For producing this report, a Montecito-based HP Integrity Server is used.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Performance with different # of CPUs 14000 12000 operations / sec 10000 8000 6 threads 8 threads 6000 4000 2000 0 2 4 6 8 number of cpus Figure 1: Performance difference based on different number of CPUs. Measured on Montecito-based test configuration @1.6GHz /CPUs. Memory The Red Hat Directory Server for HP-UX caches entry and indexing information in memory.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines • Import cache: specified as nsslapd-import-cachesize. If you do not do online import, then memory allocated for the dbcache can be used for import cache. There is no need to allocate memory for the import cache in addition to the dbcache. Tuning Recommendations This section discusses how to tune some of the very important RHDS attributes.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Performance with different number of worker threads 14000 12000 operations / sec 10000 8000 8 cpus 6000 4000 2000 0 0 10 20 30 40 50 60 70 80 90 100 110 120 130 number of threads Figure 2: Performance with different nsslapd-threadnumber. Measured on specific Montecito-based test configuration with 8 CPUs@1.6GHz .
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Step 2: Prime the directory by sending the following ldapsearch command (label it as ldapsearch command 1): #./ldapsearch –b “” –h -p -D “cn=directory manager” –w passwd “objectclass=*” > /dev/null Step 3: check db related monitoring attributes by sending a different ldapsearch request. (label it as ldapsearch command 2): # .
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Performance with different size of dbcache 14000 13500 13000 operations / sec 12500 12000 250k,8cpus 11500 11000 10500 10000 0 50 100 150 200 250 300 350 400 450 dbcache in 1000000 bytes Figure 3: Performance with different nsslapd-dbcachesize. Measured on specific Montecito-based test configuration with 8 CPUs@1.6GHz.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines This performance tuning related attribute specifies the cache size in terms of the entries it can hold. However, it is worth noting that it is simpler to limit by memory size only (see nsslapd-cachememsize attribute). If you attempt to set a value that is not a number or is too big for a 32-bit signed integer you will receive an LDAP_UNWILLING_TO_PERFORM error message with additional error information explaining the problem.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines average_space_each_entry_needs_in_the_entrycache can be found by: Step 1: set nsslapd-cachememsize to some guessed value that is big enough to give a good sample and set nsslapd-cachesize to –1. Step 2: prime the server by executing ldapsearch command 1 Step 3: find out the value of currententrycachesize and currententrycachecount by executing ldapsearch command 3.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines lower. Setting the value to 0 turns off the cache autosizing and uses the normal nsslapd-cachememsize and nsslapd-dbcachesize attributes.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines • RHDS parameter settings: dbcachesize and cachememsize are big enough to cache all the entries, and nsslapd-threadnumber is set to 6. Server Montecito-based test configuration 2-CPUs @1.6GHz Montecito-based test configuration 4-CPUs @1.6GHz Montecito-based test configuration 6-CPUs @1.6GHz Montecito-based test configuration 8-CPUs @1.6GHz DirMark Search performance 5135.46 8337.53 9999.68 13106.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines • • • Server: Montecito-based 8 CPUs @1.6 GHz #of entries: 250K RHDS parameter settings: set cachememsize big enough to cache all the entries. dbcachesize is tuned as shown in Table 3, nsslapd-threadnumber is set to 6 dbcachesize 500,000 1,000,000 1,500,000 2,000,000 4,000,000 10,000,000 50,000,000 100,000,000 200,000,000 300,000,000 400,000,000 DirMark Exact Search Performance 12155.43 12400.40 12412.60 12446.90 12670.00 12935.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Please note, to control percentage of total entries to be cached, use attribute nsslapd-cachesize. To cache 0% of total entries, set nsslapd-cachesize to 1(minimum value). From Table 4, you can see that as number of entries can be cached in the entry cache increases, the exact search throughput increases too.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines • Special setting in DirMark: “Bind for every operation” option is selected. SSL Connection Enable Disable DirMark Search performance 457.3 3988.2 Table 7: RHDS 7.1 performance difference with SSL connection enabled or disabled. For all the previous data collections, the “bind once as root” option is selected when running DirMark benchmark.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines 13. 7-bit check plug-in: on (default) 14. Schema checking: on (default) leave it on because it specifies whether the database schema will be enforced during entry insertion or modification. When measuring performance data based on exact searches, this core server configuration attribute won’t affect the performance. So leave it alone as the default value.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Caliper HP Caliper is a general-purpose performance analysis tool for applications on Itanium®-based HP systems. HP Caliper allows you to understand the performance of your program and to identify ways to improve its run-time performance. HP Caliper works with any Itanium®-based binary and does not require your applications to have any special preparation to enable performance measurement.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines } fclose(NameList); /* DirMark only supports up to 50 clients.
Red Hat Directory Server 7.1 Performance Tuning and Sizing Guidelines Machine Class SD64B Server: Machine Class SD64B Machine Specification Within partition one cell with 4 dual-core Intel Itanium2 9000 processors counted as 8 1.6GHz CPUs, 64 GB memory, OS B.11.23 64-bit, 1 disks 73 GB Machine Specification Within the partition one cell with 4 dual-core Intel Itanium2 9000 processors counted as 8 1.6GHz CPUs, 128 GB memory, OS B.11.