Top Banner
1 Measurement and Measurement and Analysis of LDAP Analysis of LDAP Performance Performance Xin Xin Wang( Wang( [email protected] [email protected] ), ), Henning Schulzrinne, Henning Schulzrinne, Dilip Kandlur, Dinesh Dilip Kandlur, Dinesh Verma Verma
26

1 Measurement and Analysis of LDAP Performance Xin Wang( [email protected] ), Henning Schulzrinne, Dilip Kandlur, Dinesh Verma.

Dec 19, 2015

Download

Documents

Welcome message from author
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
Page 1: 1 Measurement and Analysis of LDAP Performance Xin Wang( xwang@ctr.columbia.edu ), Henning Schulzrinne, Dilip Kandlur, Dinesh Verma.

1

Measurement and Measurement and Analysis of LDAP Analysis of LDAP

PerformancePerformance

Xin Wang( Xin Wang([email protected]@ctr.columbia.edu), ), Henning Schulzrinne, Dilip Henning Schulzrinne, Dilip

Kandlur, Dinesh VermaKandlur, Dinesh Verma

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

2

OutlineOutline

• BackgroundBackground

• Experimental SetupExperimental Setup

• Test MethodologyTest Methodology

• Result AnalysisResult Analysis

• Related Work Related Work

• ConclusionConclusion

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

3

BackgroundBackground

• What is LDAP?What is LDAP?– A directory service is a A directory service is a

simplified database, primarily simplified database, primarily for high volume readfor high volume read

– LDAP: Lightweight Directory LDAP: Lightweight Directory Access Protocols. Access Protocols.

– A client-server model, over A client-server model, over TCP/IPTCP/IP

– Tree structure: entry, Tree structure: entry, attributes, valuesattributes, values

– Operations: add, delete, Operations: add, delete, modify, compare, and search.modify, compare, and search.

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

4

Background (cont’d.)Background (cont’d.)

• LDAP for SLS AdministrationLDAP for SLS Administration– Service level specification: type of Service level specification: type of

service provided, traffic constraints, service provided, traffic constraints, etc.etc.

– LDAP directory contains: SLS, policy LDAP directory contains: SLS, policy rules, network provisioning rules, network provisioning information.information.

– 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

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

5

LDAP StructureLDAP Structure

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

6

Experimental SetupExperimental Setup

• Hardware: Hardware: – Server: dual processor Ultra-2, Server: dual processor Ultra-2,

200 MHz CPUs, 256 MB main 200 MHz CPUs, 256 MB main memory memory

– Clients: Ultra1, 170 MHz CPU, Clients: Ultra1, 170 MHz CPU, 128 MB main memory128 MB main memory

– 10 Mb/s Ethernet10 Mb/s Ethernet

• LDAP server:LDAP server:– OpenLDAP 1.2OpenLDAP 1.2– LDBM backend: A high LDBM backend: A high

performance disk-based performance disk-based databasedatabase

– Berkeley DB 2.4.14, Berkeley DB 2.4.14, dbcachesize: 10 MB cachesize: dbcachesize: 10 MB cachesize: vary vary

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

7

Experimental Setup (cont’d)Experimental Setup (cont’d)

• LDAP ClientLDAP Client

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

8

Test MethodologyTest Methodology

• Search for downloading policy Search for downloading policy

rulesrules

• Search filter: interface address, Search filter: interface address,

policy object. policy object.

• Default size: 10,000 entries, Default size: 10,000 entries,

entry size 488 bytesentry size 488 bytes

• Search operation:Search operation:

– ldap_search, ldap_bind, ldap_search, ldap_bind,

ldap_search, ldap_unbind.ldap_search, ldap_unbind.

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

9

Performance MeasuresPerformance Measures

• Latencies:Latencies:– Connect: ldap_open + ldap_bindConnect: ldap_open + ldap_bind– Processing: ldap_search + data Processing: ldap_search + data

transmittingtransmitting– Response: ldap_open -> ldap_unbindResponse: ldap_open -> ldap_unbind

• Server throughput Server throughput

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

10

Performance Measures (cont’d)Performance Measures (cont’d)

• 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

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

11

Overall PerformanceOverall Performance

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

12

Components of LDAP Search Components of LDAP Search LatencyLatency

Client Server

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

13

Components of LDAP Connect Components of LDAP Connect LatencyLatency

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

14

Effect of Nagle Algorithm Effect of Nagle Algorithm

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

15

Effect of Caching EntriesEffect of Caching Entries

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

16

Single vs. Dual ProcessorSingle vs. Dual Processor

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

17

Single vs. Dual ProcessorSingle vs. Dual Processor

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

18

Scaling of Directory SizeScaling of Directory Size

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

19

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

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

20

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

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

21

Connection ReuseConnection Reuse

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

22

Performance of Add OperationPerformance of Add Operation

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

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

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

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

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

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.

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

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

connection left open. connection left open.