#49136 Improve sasl bind performance
Closed: invalid 3 years ago Opened 3 years ago by firstyear.

Issue Description

SASL binds (sasl plain) has a very high cost over a simple bind. This cost makes them prohibitive in many cases.

As a result, we need to isolate the bottlenecks in saslbind.c, and then improve the situation.

As an example, this is a sasl vs simple test:

{root@ldapkdc 12:29} /home/william/development/389ds I0> PYTHONPATH=`pwd`/lib389 python wibrown-testsimple.py
Loop    5000
Total   36.65936 sec
Mean    0.00733 sec
Min 0.00619 sec
Median  0.00705 sec
Max 0.02586 sec

{root@ldapkdc 12:23} /home/william/development/389ds I0> PYTHONPATH=`pwd`/lib389 python wibrown-testsasl.py
Loop    5000
Total   123.59529 sec
Mean    0.02472 sec
Min 0.01813 sec
Median  0.02460 sec
Max 1.29963 sec

I believe I made a mistake in my initial report. It seems I may have been testing SASL GSSAPI not SASL PLAIN - Perhaps an issue with cyrus when it had both available?

During profiling, I have setup:

  • ldaps
  • a user account
  • sasl plan and simple binds

Re-running the test, I can not reproduce this:

[william@victoria]~/development/389ds% python wibrown-testsasl.py
SIMPLE BINDS
Loop    5000
Total   39.74425 sec
Mean    0.00795 sec
Min 0.00756 sec
Median  0.00783 sec
Max 0.21272 sec
SASL BINDS
Loop    5000
Total   40.92401 sec
Mean    0.00818 sec
Min 0.00781 sec
Median  0.00808 sec
Max 0.30408 sec

I have attached the test script I have used. I believe that this is now purely a GSSAPI/KRB problem. Sorry for the noise :(

Metadata Update from @firstyear:
- Custom field type adjusted to defect

3 years ago

Metadata Update from @firstyear:
- Issue close_status updated to: invalid
- Issue priority set to: 3
- Issue status updated to: Closed (was: Open)
- Issue tagged with: Performance

3 years ago

Metadata Update from @mreynolds:
- Issue set to the milestone: 1.3.7 backlog

3 years ago

Login to comment on this ticket.

Metadata
Attachments 1
Attached 3 years ago View Comment