This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Measurement and Measurement and Analysis of LDAP Analysis of LDAP
– Decision entities download Decision entities download classification rules, service classification rules, service specifications, and poll service specifications, and poll service periodically.periodically.
– Enforcement entities query rules from Enforcement entities query rules from the decision entities and enforce the decision entities and enforce themthem
• Use latencies and throughput to Use latencies and throughput to
evaluate:evaluate:– Overall LDAP performance Overall LDAP performance – Steps to improve system performanceSteps to improve system performance– How individual system components How individual system components
affect performanceaffect performance– System scalability and performance System scalability and performance
limitslimits– Performance under update loadPerformance under update load
11
Overall PerformanceOverall Performance
12
Components of LDAP Search Components of LDAP Search LatencyLatency
Client Server
13
Components of LDAP Connect Components of LDAP Connect LatencyLatency
14
Effect of Nagle Algorithm Effect of Nagle Algorithm
15
Effect of Caching EntriesEffect of Caching Entries
16
Single vs. Dual ProcessorSingle vs. Dual Processor
17
Single vs. Dual ProcessorSingle vs. Dual Processor
18
Scaling of Directory SizeScaling of Directory Size
19
Scaling of Directory Entry Size Scaling of Directory Entry Size (in-memory)(in-memory)
20
Scaling of Directory Entry Size Scaling of Directory Entry Size (out-of-memory)(out-of-memory)
21
Connection ReuseConnection Reuse
22
Performance of Add OperationPerformance of Add Operation
23
Related WorkRelated Work
• MindcraftMindcraft– Netscape Directory Server 3.0 (NSD3) Netscape Directory Server 3.0 (NSD3)
Netscape Directory Server 1.0 (NSD1) Netscape Directory Server 1.0 (NSD1) Novell LDAP services (NDS)Novell LDAP services (NDS)
– 10,000 entry personnel DB10,000 entry personnel DB– Pentium Pro 200 MHz, 512 MB RAMPentium Pro 200 MHz, 512 MB RAM– All experiments are in memoryAll experiments are in memory– ThroughputThroughput
• NSD3: 183 requests/secondNSD3: 183 requests/second• NSD1: 38.4 requests/secondNSD1: 38.4 requests/second• NDS: 0.8 requests/secondNDS: 0.8 requests/second• CPU is found to be the bottleneckCPU is found to be the bottleneck
24
ConclusionConclusion
• General Results:General Results:– response latency 8 ms up to response latency 8 ms up to
105 requests/second105 requests/second– Maximum throughput Maximum throughput
140 requests/second140 requests/second– 5 ms processing latency - 36% from 5 ms processing latency - 36% from
backend, 64% from front endbackend, 64% from front end– Connect time dominates at high load, Connect time dominates at high load,
and limits the throughput and limits the throughput
• Disabling Nagle Algorithm reduces Disabling Nagle Algorithm reduces latency about 50 mslatency about 50 ms
• Entry Caching:Entry Caching:– for 10,000 entry directory caching all for 10,000 entry directory caching all
entries gives 40% improvement in entries gives 40% improvement in processing time, 25% improvement in processing time, 25% improvement in throughputthroughput
25
Conclusion (cont’d)Conclusion (cont’d)
• Scaling of Directory Size:Scaling of Directory Size:– In memory operation, 10,000 -> In memory operation, 10,000 ->
50,000: processing time increases 50,000: processing time increases 60%, throughput reduces 21%.60%, throughput reduces 21%.
– Out-of-memory, 50,000 ->100,000: Out-of-memory, 50,000 ->100,000: processing time increases another processing time increases another 87%, and throughput reduces 23%. 87%, and throughput reduces 23%.
• Scaling of Entry Size (488 ->4880 Scaling of Entry Size (488 ->4880 bytes):bytes):– In-memory, mainly increase in front-In-memory, mainly increase in front-
end processing, i.e., time for ASN.1 end processing, i.e., time for ASN.1 encoding . Processing time increases encoding . Processing time increases 8 ms, 88% due to ASN.1 encoding, 8 ms, 88% due to ASN.1 encoding, and throughput reduces 30%. and throughput reduces 30%.
– Out-of-memory, throughput reduces Out-of-memory, throughput reduces 70%, mainly due to increased data 70%, mainly due to increased data transfer time. transfer time.
26
Conclusion (cont’d)Conclusion (cont’d)
• CPU: CPU: – During in-memory operation, dual During in-memory operation, dual
processors improve performance by processors improve performance by 40%.40%.
• Connection Re-use:Connection Re-use:– 60% performance gain when 60% performance gain when