mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Matthew Swift
27.14.2011 0b99e26e3e75fe58045645706cd3cc8995fda728
refs
author Matthew Swift <matthew.swift@forgerock.com>
Friday, May 27, 2011 18:14 +0200
committer Matthew Swift <matthew.swift@forgerock.com>
Friday, May 27, 2011 18:14 +0200
commit0b99e26e3e75fe58045645706cd3cc8995fda728
tree 889e25bdca258964b1a5154bcb6c86e3b5850e61 tree | zip | gz
parent 2ef82b6e14c8ec47e7dec0d5ff04b25f5c4547c2 view | diff
Fix OPENDJ-127: Back out OpenDS SDK revision 6648 as it prevents the -M options from working, however doing so seems to significantly impact max throughput (around 20%), probably due to context switching during Future.get() calls.

#### From OpenDS SDK SVN history for revision 6650 #####

Backout xxxrate threading changes introduced in revision 6648 since they prevent the -M (throughput throttling) option from working. Several attempts were made to fix it:

1) Putting the adaptive sleeps inside the ConnectionWorker.operationComplete callback causes the Grizzly worker thread to be blocked which, in turn, delays other incoming results on other connections (and impacts their etime calculations).

2) Instead of doing adaptive sleeps, I tried putting the "delayed" requests into a ScheduledExecuterService, but this just introduces more complexity (e.g. more threads), more context switches, etc.

At this point, I decided to go back to the original design.

The new threading strategy introduced in revision 6649 seems to more than compensate for the performance benefits made in revision 6648.
4 files modified
264 ■■■■ changed files
opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java 13 ●●●● diff | view | raw | blame | history
opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java 8 ●●●● diff | view | raw | blame | history
opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java 231 ●●●● diff | view | raw | blame | history
opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java 12 ●●●●● diff | view | raw | blame | history