Edit this page

Improving the server performance

This page is intended to keep a track of all the improvements we can implement to  speed up the server. We often find things that are not as fast or optimal as they should be, but we don't have time to fix them. Usually, we are writting down those infos on a piece of paper, then the piece of paper vanishes, so is the idea... Let's use this page of electronic paper !

Improvement Description Potential gain Implemented
Store DN in entries
The DN are stored in a specific place in the backend.
This leads to a double lookup when we want to get an entry from
the  server, when one should be enough.
Reading a DN from the backend costs around
X% (to be evaluated)
Store normalized DN
We currently store a UP form of the DN. We have then to
parse the DN and normalized it again when we read it from the backend
This is far from being optimal, but some tests must be done to see if
reading (means, disk IO + deserialization ) is cheaper than parsing+normalizing
To be evaluated

Referral getFarthestReferral This method can be optimized. We are comparing Strings when we could have
compared RDNs
A few CPU cycle, but not to be neglected