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

Matthew Swift
27.14.2011 c380f629462b7d8e7534601f24364fe948e28780
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
commitc380f629462b7d8e7534601f24364fe948e28780
tree 696e10f7e3d6109295e167efbe9dd0ad26295cb3 tree | zip | gz
parent f81fe89be78214a05794fb43c25b002c56aa3b3e 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
opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/AuthRate.java 13 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/ModRate.java 8 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/PerformanceRunner.java 231 ●●●● diff | view | raw | blame | history
opendj-sdk/opendj3/opendj-ldap-toolkit/src/main/java/com/forgerock/opendj/ldap/tools/SearchRate.java 12 ●●●●● diff | view | raw | blame | history