You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2010/08/03 16:12:39 UTC
svn commit: r981892 - in /jackrabbit/commons/jcr-benchmark/trunk: ./
src/main/java/org/apache/jackrabbit/benchmark/
Author: jukka
Date: Tue Aug 3 14:12:38 2010
New Revision: 981892
URL: http://svn.apache.org/viewvc?rev=981892&view=rev
Log:
JCR-2695: Jackrabbit performance test suite
Backport jcr-benchmark to JCR 1.0 so we can use it over both Jackrabbit 1.x and 2.x
Modified:
jackrabbit/commons/jcr-benchmark/trunk/pom.xml
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/AbstractBenchmarkTest.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigCollectionTest.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileReadTest.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileWriteTest.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/PerformanceTestSuite.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileReadTest.java
jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileWriteTest.java
Modified: jackrabbit/commons/jcr-benchmark/trunk/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/pom.xml?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/pom.xml (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/pom.xml Tue Aug 3 14:12:38 2010
@@ -30,7 +30,7 @@
</parent>
<artifactId>jackrabbit-jcr-benchmark</artifactId>
- <version>2.0-SNAPSHOT</version>
+ <version>1.0-SNAPSHOT</version>
<name>Jackrabbit JCR Benchmarks</name>
<description>
JCR Benchmark is a suite of performance and scalability tests for
@@ -51,7 +51,7 @@
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
- <version>2.0</version>
+ <version>1.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -61,12 +61,12 @@
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-tests</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
- <version>2.1-SNAPSHOT</version>
+ <version>1.6.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/AbstractBenchmarkTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/AbstractBenchmarkTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/AbstractBenchmarkTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/AbstractBenchmarkTest.java Tue Aug 3 14:12:38 2010
@@ -17,8 +17,6 @@
package org.apache.jackrabbit.benchmark;
import org.apache.jackrabbit.test.AbstractJCRTest;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
@@ -30,12 +28,14 @@ import java.util.Calendar;
/** <code>AbstractBenchmarkTest</code>... */
abstract class AbstractBenchmarkTest extends AbstractJCRTest {
- private static Logger log = LoggerFactory.getLogger(AbstractBenchmarkTest.class);
-
protected static final int MEMBERS = 500;
+
protected static final int MEMBERSIZE = 1024;
+
protected static final String MIMETYPE = "application/octet-stream";
+
protected static final int MINTIME = 1000;
+
protected static final int MINCOUNT = 5;
protected void setUp() throws Exception {
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigCollectionTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigCollectionTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigCollectionTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigCollectionTest.java Tue Aug 3 14:12:38 2010
@@ -91,7 +91,7 @@ public class BigCollectionTest extends A
long cnt = 0;
while (System.currentTimeMillis() - start < MINTIME || cnt < MINCOUNT) {
- Session s = getHelper().getReadOnlySession();
+ Session s = helper.getReadOnlySession();
try {
Node dir = (Node) s.getItem(bigcollPath);
int members = 0;
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileReadTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileReadTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileReadTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileReadTest.java Tue Aug 3 14:12:38 2010
@@ -16,16 +16,14 @@
*/
package org.apache.jackrabbit.benchmark;
+import java.io.InputStream;
import java.util.Calendar;
-import javax.jcr.Binary;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
-import org.apache.commons.compress.utils.IOUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.io.output.NullOutputStream;
public class BigFileReadTest extends PerformanceTest {
@@ -44,32 +42,26 @@ public class BigFileReadTest extends Per
session = getRepository().login(getCredentials());
root = session.getRootNode().addNode(
- "BigFileReadTest", NodeType.NT_FOLDER);
+ "BigFileReadTest", "nt:folder");
for (int i = 0; i < FILE_COUNT; i++) {
- Node file = root.addNode("file" + i, NodeType.NT_FILE);
- Node content = file.addNode(Node.JCR_CONTENT, NodeType.NT_RESOURCE);
- content.setProperty(Property.JCR_MIMETYPE, "application/octet-stream");
- content.setProperty(Property.JCR_LAST_MODIFIED, Calendar.getInstance());
- Binary binary = session.getValueFactory().createBinary(
- new TestInputStream(FILE_SIZE * 1024 * 1024));
- try {
- content.setProperty(Property.JCR_DATA, binary);
- } finally {
- binary.dispose();
- }
+ Node file = root.addNode("file" + i, "nt:file");
+ Node content = file.addNode("jcr:content", "nt:resource");
+ content.setProperty("jcr:mimeType", "application/octet-stream");
+ content.setProperty("jcr:lastModified", Calendar.getInstance());
+ content.setProperty(
+ "jcr:data", new TestInputStream(FILE_SIZE * 1024 * 1024));
}
session.save();
}
public void runTest() throws Exception {
Node file = root.getNode("file" + (i++ % FILE_COUNT));
- Node content = file.getNode(Node.JCR_CONTENT);
- Property data = content.getProperty(Property.JCR_DATA);
- Binary binary = data.getBinary();
+ Node content = file.getNode("jcr:content");
+ InputStream stream = content.getProperty("jcr:data").getStream();
try {
- IOUtils.copy(binary.getStream(), new NullOutputStream());
+ IOUtils.copy(stream, new NullOutputStream());
} finally {
- binary.dispose();
+ stream.close();
}
}
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileWriteTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileWriteTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileWriteTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/BigFileWriteTest.java Tue Aug 3 14:12:38 2010
@@ -18,12 +18,9 @@ package org.apache.jackrabbit.benchmark;
import java.util.Calendar;
-import javax.jcr.Binary;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
public class BigFileWriteTest extends PerformanceTest {
@@ -39,17 +36,12 @@ public class BigFileWriteTest extends Pe
public void runTest() throws RepositoryException {
file = session.getRootNode().addNode(
- "BigFileWriteTest", NodeType.NT_FILE);
- Node content = file.addNode(Node.JCR_CONTENT, NodeType.NT_RESOURCE);
- content.setProperty(Property.JCR_MIMETYPE, "application/octet-stream");
- content.setProperty(Property.JCR_LAST_MODIFIED, Calendar.getInstance());
- Binary binary = session.getValueFactory().createBinary(
- new TestInputStream(FILE_SIZE * 1024 * 1024));
- try {
- content.setProperty(Property.JCR_DATA, binary);
- } finally {
- binary.dispose();
- }
+ "BigFileWriteTest", "nt:file");
+ Node content = file.addNode("jcr:content", "nt:resource");
+ content.setProperty("jcr:mimeType", "application/octet-stream");
+ content.setProperty("jcr:lastModified", Calendar.getInstance());
+ content.setProperty(
+ "jcr:data", new TestInputStream(FILE_SIZE * 1024 * 1024));
session.save();
}
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/PerformanceTestSuite.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/PerformanceTestSuite.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/PerformanceTestSuite.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/PerformanceTestSuite.java Tue Aug 3 14:12:38 2010
@@ -24,9 +24,7 @@ import javax.jcr.SimpleCredentials;
import org.apache.commons.io.FileUtils;
import org.apache.commons.math.stat.descriptive.SummaryStatistics;
-import org.apache.jackrabbit.api.management.DataStoreGarbageCollector;
import org.apache.jackrabbit.core.RepositoryImpl;
-import org.apache.jackrabbit.core.SessionImpl;
import org.apache.jackrabbit.core.config.RepositoryConfig;
public class PerformanceTestSuite {
@@ -45,7 +43,7 @@ public class PerformanceTestSuite {
this.credentials = credentials;
}
- private void runTest(PerformanceTest test) throws Exception {
+ public void runTest(PerformanceTest test) throws Exception {
SummaryStatistics statistics = new SummaryStatistics();
test.setRepository(repository);
@@ -81,13 +79,6 @@ public class PerformanceTestSuite {
statistics.getMin(),
statistics.getMax(),
statistics.getN());
-
- SessionImpl session = (SessionImpl) repository.login(credentials);
- DataStoreGarbageCollector collector =
- session.createDataStoreGarbageCollector();
- collector.mark();
- collector.sweep();
- collector.close();
}
public static void main(String[] args) throws Exception {
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileReadTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileReadTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileReadTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileReadTest.java Tue Aug 3 14:12:38 2010
@@ -16,16 +16,14 @@
*/
package org.apache.jackrabbit.benchmark;
+import java.io.InputStream;
import java.util.Calendar;
-import javax.jcr.Binary;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
-import org.apache.commons.compress.utils.IOUtils;
+import org.apache.commons.io.IOUtils;
import org.apache.commons.io.output.NullOutputStream;
public class SmallFileReadTest extends PerformanceTest {
@@ -42,19 +40,14 @@ public class SmallFileReadTest extends P
session = getRepository().login(getCredentials());
root = session.getRootNode().addNode(
- "SmallFileReadTest", NodeType.NT_FOLDER);
+ "SmallFileReadTest", "nt:folder");
for (int i = 0; i < FILE_COUNT; i++) {
- Node file = root.addNode("file" + i, NodeType.NT_FILE);
- Node content = file.addNode(Node.JCR_CONTENT, NodeType.NT_RESOURCE);
- content.setProperty(Property.JCR_MIMETYPE, "application/octet-stream");
- content.setProperty(Property.JCR_LAST_MODIFIED, Calendar.getInstance());
- Binary binary = session.getValueFactory().createBinary(
- new TestInputStream(FILE_SIZE * 1024));
- try {
- content.setProperty(Property.JCR_DATA, binary);
- } finally {
- binary.dispose();
- }
+ Node file = root.addNode("file" + i, "nt:file");
+ Node content = file.addNode("jcr:content", "nt:resource");
+ content.setProperty("jcr:mimeType", "application/octet-stream");
+ content.setProperty("jcr:lastModified", Calendar.getInstance());
+ content.setProperty(
+ "jcr:data", new TestInputStream(FILE_SIZE * 1024));
}
session.save();
}
@@ -62,13 +55,12 @@ public class SmallFileReadTest extends P
public void runTest() throws Exception {
for (int i = 0; i < FILE_COUNT; i++) {
Node file = root.getNode("file" + i);
- Node content = file.getNode(Node.JCR_CONTENT);
- Property data = content.getProperty(Property.JCR_DATA);
- Binary binary = data.getBinary();
+ Node content = file.getNode("jcr:content");
+ InputStream stream = content.getProperty("jcr:data").getStream();
try {
- IOUtils.copy(binary.getStream(), new NullOutputStream());
+ IOUtils.copy(stream, new NullOutputStream());
} finally {
- binary.dispose();
+ stream.close();
}
}
}
Modified: jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileWriteTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileWriteTest.java?rev=981892&r1=981891&r2=981892&view=diff
==============================================================================
--- jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileWriteTest.java (original)
+++ jackrabbit/commons/jcr-benchmark/trunk/src/main/java/org/apache/jackrabbit/benchmark/SmallFileWriteTest.java Tue Aug 3 14:12:38 2010
@@ -18,12 +18,9 @@ package org.apache.jackrabbit.benchmark;
import java.util.Calendar;
-import javax.jcr.Binary;
import javax.jcr.Node;
-import javax.jcr.Property;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
public class SmallFileWriteTest extends PerformanceTest {
@@ -40,24 +37,18 @@ public class SmallFileWriteTest extends
}
public void beforeTest() throws RepositoryException {
- root = session.getRootNode().addNode(
- "SmallFileWriteTest", NodeType.NT_FOLDER);
+ root = session.getRootNode().addNode("SmallFileWriteTest", "nt:folder");
session.save();
}
public void runTest() throws Exception {
for (int i = 0; i < FILE_COUNT; i++) {
- Node file = root.addNode("file" + i, NodeType.NT_FILE);
- Node content = file.addNode(Node.JCR_CONTENT, NodeType.NT_RESOURCE);
- content.setProperty(Property.JCR_MIMETYPE, "application/octet-stream");
- content.setProperty(Property.JCR_LAST_MODIFIED, Calendar.getInstance());
- Binary binary = session.getValueFactory().createBinary(
- new TestInputStream(FILE_SIZE * 1024));
- try {
- content.setProperty(Property.JCR_DATA, binary);
- } finally {
- binary.dispose();
- }
+ Node file = root.addNode("file" + i, "nt:file");
+ Node content = file.addNode("jcr:content", "nt:resource");
+ content.setProperty("jcr:mimeType", "application/octet-stream");
+ content.setProperty("jcr:lastModified", Calendar.getInstance());
+ content.setProperty(
+ "jcr:data", new TestInputStream(FILE_SIZE * 1024));
}
}