[ http://issues.apache.org/jira/browse/DIRSERVER-600?page=all ]

Emmanuel Lecharny closed DIRSERVER-600.
---------------------------------------

    Resolution: Fixed

Has been modified and fixed a while ago !

> Improvment in the way DN are treated
> ------------------------------------
>
>                 Key: DIRSERVER-600
>                 URL: http://issues.apache.org/jira/browse/DIRSERVER-600
>             Project: Directory ApacheDS
>          Issue Type: Improvement
>            Reporter: Emmanuel Lecharny
>
> We have mesured that DN parsing is the hot spot in the server : we spend 
> around 80 % of server time to parse DNs.
> After having studied the way BindRequest does handle DN, we can say that for 
> a single bind for the user "uid=admin,ou=system", we have more than 40 
> parsing done. Here is a list of all the parsing in the DnComparator.compare() 
> method :
> (The '*' in front of each line shows where a parsing of both DN is done)
> * Compare 'ou=groups,ou=system' and 'uid=admin,ou=system'
> * Compare 'prefnodename=sysPrefRoot,ou=system' and 'uid=admin,ou=system'
> Compare 'uid=admin,ou=system' and 'uid=admin,ou=system'
> Compare 'uid=admin,ou=system' and 'uid=admin,ou=system'
> * Compare 'ou=groups,ou=system' and 'uid=admin,ou=system'
> * Compare 'prefnodename=sysPrefRoot,ou=system' and 'uid=admin,ou=system'
> Compare 'uid=admin,ou=system' and 'uid=admin,ou=system'
> Compare 'uid=admin,ou=system' and 'uid=admin,ou=system'
> * Compare 'ou=groups,ou=system' and 'ou=system'
> * Compare 'ou=interceptors,ou=configuration,ou=system' and 'ou=system'
> * Compare 'ou=configuration,ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> * Compare 'ou=groups,ou=system' and 'ou=system'
> * Compare 'ou=interceptors,ou=configuration,ou=system' and 'ou=system'
> * Compare 'ou=configuration,ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> * Compare 'ou=groups,ou=system' and 'ou=system'
> * Compare 'ou=interceptors,ou=configuration,ou=system' and 'ou=system'
> * Compare 'ou=configuration,ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> * Compare 'ou=groups,ou=system' and 'ou=system'
> * Compare 'ou=interceptors,ou=configuration,ou=system' and 'ou=system'
> * Compare 'ou=configuration,ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> * Compare 'ou=groups,ou=system' and 'ou=system'
> * Compare 'ou=interceptors,ou=configuration,ou=system' and 'ou=system'
> * Compare 'ou=configuration,ou=system' and 'ou=system'
> Compare 'ou=system' and 'ou=system'
> If we can change this compare function to work with Name instead of String we 
> could have a huge improvment : more that 35x faster
> (I wrote a micro-bench to mesure the difference : around 36 times faster).
> As this is not the single place where we can gain time (we have a lot or 
> String -> DN and DN -> String conversions during the Bind process), we would 
> be able to handle Bind Request much much faster, too (being aware that we 
> have a lot of other costly operaions that will nor allow a x40 improvment).
> My personnal guess is that we should be able to handle around 5000 binds per 
> second against the current 300, but this is just a guess :)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to