You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2015/01/29 11:17:46 UTC

svn commit: r1655575 - in /jackrabbit/oak/trunk/oak-run: ./ src/main/java/org/apache/jackrabbit/oak/benchmark/

Author: angela
Date: Thu Jan 29 10:17:46 2015
New Revision: 1655575

URL: http://svn.apache.org/r1655575
Log:
add more login related benchmark tests

Added:
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembersTest.java
      - copied, changed from r1655442, jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java
Modified:
    jackrabbit/oak/trunk/oak-run/run_concurrent_login.sh
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
    jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java

Modified: jackrabbit/oak/trunk/oak-run/run_concurrent_login.sh
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/run_concurrent_login.sh?rev=1655575&r1=1655574&r2=1655575&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/run_concurrent_login.sh (original)
+++ jackrabbit/oak/trunk/oak-run/run_concurrent_login.sh Thu Jan 29 10:17:46 2015
@@ -16,16 +16,16 @@
 # limitations under the License.
 #
 TITLE=LoginTest
-BENCH="LoginWithMembershipTest" #LoginTest LoginLogoutTest LoginGetRootLogoutTest"
+BENCH="LoginWithMembersTest LoginWithMembershipTest" # LoginTest LoginLogoutTest LoginGetRootLogoutTest"
 USER="user" # admin anonymous"
 USE_TOKEN=false # true
 HASH_ITERATIONS="-1"
-NO_GROUPS="100" # 10 100 1000"
+NO_GROUPS="1 10 100 1000"
 USE_NESTED_GROUPS=true # false
 RUNTIME=5
 FIXS="Oak-Tar" # Jackrabbit"
 THREADS="1,10,20,50" #"1,2,4,8,10,15,20,50"
-PROFILE=true
+PROFILE=false
 NUM_ITEMS=1000
 
 LOG=$TITLE"_$(date +'%Y%m%d_%H%M%S').csv"
@@ -53,7 +53,7 @@ for bm in $BENCH
             echo "Executing benchmarks as user: $USER with $noGroups groups (nested = $USE_NESTED_GROUPS) on $fix" | tee -a $LOG
         echo "-----------------------------------------------------------" | tee -a $LOG
             rm -rf target/Jackrabbit-* target/Oak-Tar-*
-            cmd="java -Xmx2048m -Dprofile=$PROFILE -Druntime=$RUNTIME -Dwarmup=10 -jar target/oak-run-*-SNAPSHOT.jar benchmark --noIterations $HASH_ITERATIONS --runWithToken $USE_TOKEN --noGroups $noGroups --nestedGroups $USE_NESTED_GROUPS --csvFile $LOG --concurrency $THREADS --runAsUser $USER --report false $bm $fix"
+            cmd="java -Xmx2048m -Dprofile=$PROFILE -Druntime=$RUNTIME -Dwarmup=10 -jar target/oak-run-*-SNAPSHOT.jar benchmark --noIterations $HASH_ITERATIONS --runWithToken $USE_TOKEN --numberOfGroups $noGroups --nestedGroups $USE_NESTED_GROUPS --csvFile $LOG --concurrency $THREADS --runAsUser $USER --report false $bm $fix"
             echo $cmd
             $cmd
         done

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java?rev=1655575&r1=1655574&r2=1655575&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/BenchmarkRunner.java Thu Jan 29 10:17:46 2015
@@ -88,8 +88,8 @@ public class BenchmarkRunner {
                 .withOptionalArg().ofType(Boolean.class).defaultsTo(Boolean.FALSE);
         OptionSpec<Integer> noIterations = parser.accepts("noIterations", "Change default 'passwordHashIterations' parameter.")
                 .withOptionalArg().ofType(Integer.class).defaultsTo(AbstractLoginTest.DEFAULT_ITERATIONS);
-        OptionSpec<Integer> noGroups = parser.accepts("noGroups", "Number of groups to create.")
-                        .withOptionalArg().ofType(Integer.class).defaultsTo(LoginWithMembershipTest.NO_GROUPS_DEFAULT);
+        OptionSpec<Integer> numberOfGroups = parser.accepts("numberOfGroups", "Number of groups to create.")
+                        .withOptionalArg().ofType(Integer.class).defaultsTo(LoginWithMembershipTest.NUMBER_OF_GROUPS_DEFAULT);
         OptionSpec<Boolean> nestedGroups = parser.accepts("nestedGroups", "Use nested groups.")
                         .withOptionalArg().ofType(Boolean.class).defaultsTo(false);
         OptionSpec<Integer> itemsToRead = parser.accepts("itemsToRead", "Number of items to read")
@@ -170,8 +170,12 @@ public class BenchmarkRunner {
             new LoginWithMembershipTest(
                     runWithToken.value(options),
                     noIterations.value(options),
-                    noGroups.value(options),
+                    numberOfGroups.value(options),
                     nestedGroups.value(options)),
+            new LoginWithMembersTest(
+                    runWithToken.value(options),
+                    noIterations.value(options),
+                    numberOfGroups.value(options)),
             new NamespaceTest(),
             new NamespaceRegistryTest(),
             new ReadPropertyTest(),

Copied: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembersTest.java (from r1655442, jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembersTest.java?p2=jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembersTest.java&p1=jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java&r1=1655442&r2=1655575&rev=1655575&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembersTest.java Thu Jan 29 10:17:46 2015
@@ -30,23 +30,19 @@ import org.apache.jackrabbit.oak.spi.sec
 import org.apache.jackrabbit.util.Text;
 
 /**
- * Measure performance of repository login with the test user being direct or
- * inherited member of a specified number of groups.
+ * Measure performance of repository login with the test user being direct member
+ * of a group with the configured number of other members.
  */
-public class LoginWithMembershipTest extends AbstractLoginTest {
+public class LoginWithMembersTest extends AbstractLoginTest {
 
     private static final String GROUP = "group";
 
-    public static final int NO_GROUPS_DEFAULT = 10;
+    private final int numberOfMembers;
 
-    private final int noGroups;
-    private final boolean nestedGroups;
-
-    public LoginWithMembershipTest(boolean runWithToken, int noIterations, int noGroups, boolean nestedGroups) {
+    public LoginWithMembersTest(boolean runWithToken, int noIterations, int numberOfMembers) {
         super(USER, runWithToken, noIterations);
 
-        this.noGroups = noGroups;
-        this.nestedGroups = nestedGroups;
+        this.numberOfMembers = numberOfMembers;
     }
 
     @Override
@@ -58,18 +54,13 @@ public class LoginWithMembershipTest ext
             UserManager userManager = ((JackrabbitSession) s).getUserManager();
             Authorizable user = userManager.getAuthorizable(USER);
 
-            // make sure we have a least a single group the user is member of.
             Group gr = userManager.createGroup(new PrincipalImpl(GROUP), "test");
             gr.addMember(user);
 
-            for (int i = 1; i < noGroups; i++) {
+            // add other members to this group which the test user is not member of.
+            for (int i = 1; i < numberOfMembers; i++) {
                 Group g = userManager.createGroup(new PrincipalImpl(GROUP + i), "test");
-                if (!nestedGroups) {
-                    g.addMember(user);
-                } else {
-                    g.addMember(gr);
-                }
-                gr = g;
+                gr.addMember(g);
             }
         } finally {
             s.save();

Modified: jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java?rev=1655575&r1=1655574&r2=1655575&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java (original)
+++ jackrabbit/oak/trunk/oak-run/src/main/java/org/apache/jackrabbit/oak/benchmark/LoginWithMembershipTest.java Thu Jan 29 10:17:46 2015
@@ -37,15 +37,15 @@ public class LoginWithMembershipTest ext
 
     private static final String GROUP = "group";
 
-    public static final int NO_GROUPS_DEFAULT = 10;
+    public static final int NUMBER_OF_GROUPS_DEFAULT = 10;
 
-    private final int noGroups;
+    private final int numberOfGroups;
     private final boolean nestedGroups;
 
-    public LoginWithMembershipTest(boolean runWithToken, int noIterations, int noGroups, boolean nestedGroups) {
+    public LoginWithMembershipTest(boolean runWithToken, int noIterations, int numberOfGroups, boolean nestedGroups) {
         super(USER, runWithToken, noIterations);
 
-        this.noGroups = noGroups;
+        this.numberOfGroups = numberOfGroups;
         this.nestedGroups = nestedGroups;
     }
 
@@ -62,7 +62,7 @@ public class LoginWithMembershipTest ext
             Group gr = userManager.createGroup(new PrincipalImpl(GROUP), "test");
             gr.addMember(user);
 
-            for (int i = 1; i < noGroups; i++) {
+            for (int i = 1; i < numberOfGroups; i++) {
                 Group g = userManager.createGroup(new PrincipalImpl(GROUP + i), "test");
                 if (!nestedGroups) {
                     g.addMember(user);