260 likes | 268 Views
This study explores the performance of Lightweight Directory Access Protocol (LDAP) through tests and analysis. It covers the background of LDAP, experimental setup, test methodology, result analysis, related work, and conclusion addressing latency, throughput, and system components.
E N D
Measurement and Analysis of LDAP Performance Xin Wangxwang@ctr.columbia.edu ( Joint work with: Henning Schulzrinne, Dilip Kandlur, Dinesh Verma)
Outline • Background • Experimental Setup • Test Methodology • Result Analysis • Related Work • Conclusion
Background • What is LDAP? • A directory service is a simplified database, primarily for high volume read • LDAP: Lightweight Directory Access Protocols. • A client-server model, over TCP/IP • Tree structure: entry, attributes, values • Operations: add, delete, modify, compare, and search.
Background (cont’d.) • LDAP for SLS Administration • Service level specification: type of service provided, and traffic constraints etc. • LDAP directory contains: SLS, policy rules, network provisioning information. • Decision entity: download classification rules, service specifications, and poll service periodically. • Enforcement entity: query rules from the decision entities
Experimental Setup • Hardware: • Server: dual processor Ultra-2, 200 MHz CPUs, 256 MB main memory • Clients: Ultra1, 170 MHz CPU, 128 MB main memory • 10 Mb/s Ethernet • LDAP server: • OpenLDAP 1.2 • LDBM backend: A high performance disk-based database • Berkeley DB 2.4.14, dbcachesize: 10 MB cachesize: vary
Experimental Setup (cont’d) • LDAP Client
Test Methodology • Search for downloading policy rules • Search filter: interface address, policy object. • Default size: entry 488 byte, directory 10,000 entries • Search operation: • ldap_search, ldap_bind, ldap_search, ldap_unbind.
Measures • Latencies: • Connect: ldap_open + ldap_bind • Processing: ldap_search + data transmitting • Response: ldap_open -> ldap_unbind • Server throughput
Result Analysis • Purpose: • identify system components on performance; suggest measure for improvement; study the performance limits, the determination component. • Overall LDAP performance • Improving Searching Performance • Performance Limitations • Session Reuse • Performance under Update Load
Related Work • Mindcraft • Netscape Directory Server 3.0 (NSD3) Netscape Directory Server 1.0 (NSD1) Novell LDAP services (NDS) • 10,000 entry personnel DB • Pentium Pro 200 MHz, 512 MB RAM • All experiments are in memory • Throughput • NSD3: 183 requests/second • NSD1: 38.4 requests/second • NDS: 0.8 requests/second • CPU is found to be the bottleneck
Conclusion • General Results: • response latency 8 ms up to 105 requests/second • Maximum throughput 140 requests/second • 5 ms processing latency, and 36% from backend, 64 % from front end • Connect time dominate at high load, and limit the throughput • Disabling Nagle Algorithm • reduces about 50 ms • Entry Caching: • for 10,000 entry directory 10,000 entry caching, 40% improvement in processing time, 25% improvement in throughput
Conclusion (cont’d) • Scaling of Directory Size: • In memory (10,000 -> 50,000), processing time increase 60%, throughput reduces 21%. • Out-o-f-memory (50,000 ->100,000), processing time increases another 87%, and throughput reduces 23%. • Scaling of Entry Size: • In-memory, mainly increase front-end processing, i.e., time for ASN.1 encoding . Increase processing time 8 ms, 88% due to ASN.1 encoding, and reduce throughput 30%. • Out-of-memory, reduce throughput 70%, mainly due to data transfer time.
Conclusion (cont’d) • CPU: • In-memory, dual processors improves performance by 40%. • Session Re-use: • 60% improvement gain when session left open.