1 / 26

Outline

Measurement and Analysis of LDAP Performance Xin Wang( xwang@ctr.columbia.edu ), Henning Schulzrinne, Dilip Kandlur, Dinesh Verma. Outline. Background Experimental Setup Test Methodology Result Analysis Related Work Conclusion. Background. What is LDAP?

maddy
Télécharger la présentation

Outline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Measurement and Analysis of LDAP Performance Xin Wang(xwang@ctr.columbia.edu), Henning Schulzrinne, Dilip Kandlur, Dinesh Verma

  2. Outline • Background • Experimental Setup • Test Methodology • Result Analysis • Related Work • Conclusion

  3. 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.

  4. Background (cont’d.) • LDAP for SLS Administration • Service level specification: type of service provided, traffic constraints, etc. • LDAP directory contains: SLS, policy rules, network provisioning information. • Decision entities download classification rules, service specifications, and poll service periodically. • Enforcement entities query rules from the decision entities and enforce them

  5. LDAP Structure

  6. 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

  7. Experimental Setup (cont’d) • LDAP Client

  8. Test Methodology • Search for downloading policy rules • Search filter: interface address, policy object. • Default size: 10,000 entries, entry size 488 bytes • Search operation: • ldap_search, ldap_bind, ldap_search, ldap_unbind.

  9. Performance Measures • Latencies: • Connect: ldap_open + ldap_bind • Processing: ldap_search + data transmitting • Response: ldap_open -> ldap_unbind • Server throughput

  10. Performance Measures (cont’d) • Use latencies and throughput to evaluate: • Overall LDAP performance • Steps to improve system performance • How individual system components affect performance • System scalability and performance limits • Performance under update load

  11. Overall Performance

  12. Components of LDAP Search Latency Client Server

  13. Components of LDAP Connect Latency

  14. Effect of Nagle Algorithm

  15. Effect of Caching Entries

  16. Single vs. Dual Processor

  17. Single vs. Dual Processor

  18. Scaling of Directory Size

  19. Scaling of Directory Entry Size (in-memory)

  20. Scaling of Directory Entry Size (out-of-memory)

  21. Connection Reuse

  22. Performance of Add Operation

  23. 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

  24. Conclusion • General Results: • response latency 8 ms up to 105 requests/second • Maximum throughput 140 requests/second • 5 ms processing latency - 36% from backend, 64% from front end • Connect time dominates at high load, and limits the throughput • Disabling Nagle Algorithm reduces latency about 50 ms • Entry Caching: • for 10,000 entry directory caching all entries gives 40% improvement in processing time, 25% improvement in throughput

  25. Conclusion (cont’d) • Scaling of Directory Size: • In memory operation, 10,000 -> 50,000: processing time increases 60%, throughput reduces 21%. • Out-of-memory, 50,000 ->100,000: processing time increases another 87%, and throughput reduces 23%. • Scaling of Entry Size (488 ->4880 bytes): • In-memory, mainly increase in front-end processing, i.e., time for ASN.1 encoding . Processing time increases 8 ms, 88% due to ASN.1 encoding, and throughput reduces 30%. • Out-of-memory, throughput reduces 70%, mainly due to increased data transfer time.

  26. Conclusion (cont’d) • CPU: • During in-memory operation, dual processors improve performance by 40%. • Connection Re-use: • 60% performance gain when connection left open.

More Related