Adds Redis benchmarks. (#150)
authorJacob Barrett <jbarrett@pivotal.io>
Mon, 17 May 2021 14:33:23 +0000 (07:33 -0700)
committerGitHub <noreply@github.com>
Mon, 17 May 2021 14:33:23 +0000 (07:33 -0700)
commit3a58d1017b2a53f0ee85c6232f5e6a2d0604b63b
tree6ec2050664f91df9d2685cf9c3af0c6bd18cb1d2
parent99f6e63bd217bf85ad440697b19e4a25b03a43bf
Adds Redis benchmarks. (#150)

* Adds framework for Redis based benchmarks.
* Supports benchmarking Redis, Geode and external Redis like systems.
* Supports Jedis and Lettuce clients.
* Tunable cluster sizing.

Co-authored-by: Dan Smith <dasmith@vmware.com>
164 files changed:
README.md
build.gradle
geode-benchmarks/build.gradle
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/GcImplementation.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/GcLoggingParameters.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/GcParameters.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/GeodeProperties.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/JavaVersion.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/JvmParameters.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/parameters/SafepointLoggingParameters.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/GeodeParameters.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/parameters/NettyParameters.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/AbstractPrePopulate.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/CreateRedisCluster.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/FlushDbTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/GetRedisTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HgetRedisTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/HsetRedisTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRedisServersAttribute.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/InitRegion.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/JedisClientManager.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LettuceClientManager.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/LongStringCache.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedis.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/PrePopulateRedisHash.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClient.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisClientManager.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/RedisHash.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/SetRedisTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartGeodeServer.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisClient.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StartRedisServer.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisClient.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tasks/StopRedisServer.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisGetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHgetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetAndHgetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisHsetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisSetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/tests/RedisWeightedHsetAndHgetBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/GeodeTopology.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopology.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/redis/topology/RedisTopology.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/AbstractPrePopulateRegion.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/CompositeTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/CreateIndexOnID.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/CreatePartitionedRegion.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/CreateReplicatedRegion.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/ExecuteFilteredFunction.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/ExecuteFunction.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/ExecuteParameterizedFunction.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/GetStringTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/GetTask.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/OQLQuery.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/PrePopulateRegion.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/PrePopulateRegionBytes.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/PrePopulateRegionLong.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/PrePopulateRegionString.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/ProcessControl.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/PutStringTask.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/StartLocator.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/StartServer.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/StopServer.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tasks/WeightedTasks.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/AbstractFunctionBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/AbstractPerformanceTest.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/GeodeBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/NoopBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/P2pPartitionedGetBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/P2pPartitionedPutBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/P2pPartitionedPutBytesBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/P2pPartitionedPutLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionWithArgumentsBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionWithFiltersBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedGetStringBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedIndexedQueryBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedNonIndexedQueryBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutAllBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutAllLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutBytesBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/PartitionedPutStringBenchmark.java [new file with mode: 0644]
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionWithArgumentsBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionWithFiltersBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedGetLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedIndexedQueryBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedNonIndexedQueryBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutAllBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutAllLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/tests/ReplicatedPutLongBenchmark.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/ClientServerTopology.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/ClientServerTopologyWithRouterAndSniProxy.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/ClientServerTopologyWithSniProxy.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/P2pTopology.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Ports.java
geode-benchmarks/src/main/java/org/apache/geode/benchmark/topology/Topology.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/Constants.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/junit/CartesianSubclassSource.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/junit/EnableIfClassExists.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/junit/EnableIfClassExistsCondition.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/junit/SubclassSourceProvider.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/parameters/GcLoggingParametersTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/parameters/GcParametersTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/parameters/HeapParametersTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/parameters/SafepointLoggingParametersTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/tests/RedisBenchmarkTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/GeodeTopologyTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/ManualRedisTopologyTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/redis/topology/RedisTopologyTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tasks/WeightedTasksTest.java [new file with mode: 0644]
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ClientServerBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionWithArgumentsBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedFunctionExecutionWithFiltersBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedGetLongBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedIndexedQueryBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedNonIndexedQueryBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutAllBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutAllLongBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/PartitionedPutLongBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionWithArgumentsBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedFunctionExecutionWithFiltersBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedGetLongBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedIndexedQueryBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedNonIndexedQueryBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/tests/ReplicatedPutLongBenchmarkTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/topology/ClientServerTopologyTest.java
geode-benchmarks/src/test/java/org/apache/geode/benchmark/topology/ClientServerTopologyWithSniProxyTest.java
gradle.properties
gradle/dependency-versions.properties
gradle/wrapper/gradle-wrapper.properties
harness/build.gradle
harness/src/main/java/org/apache/geode/perftest/PerformanceTest.java
harness/src/main/java/org/apache/geode/perftest/TestConfig.java
harness/src/main/java/org/apache/geode/perftest/TestRunners.java
harness/src/main/java/org/apache/geode/perftest/analysis/BenchmarkRunAnalyzer.java
harness/src/main/java/org/apache/geode/perftest/jvms/JVMLauncher.java
harness/src/main/java/org/apache/geode/perftest/jvms/RemoteJVMFactory.java
harness/src/main/java/org/apache/geode/perftest/runner/DefaultTestRunner.java
harness/src/test/java/org/apache/geode/perftest/BenchmarkPropertiesTest.java
harness/src/test/java/org/apache/geode/perftest/TestRunnerIntegrationTest.java
harness/src/test/java/org/apache/geode/perftest/infrastructure/ssh/SshInfrastructureTest.java
harness/src/test/java/org/apache/geode/perftest/jvms/RemoteJVMFactoryTest.java
infrastructure/build.gradle
infrastructure/scripts/aws/README.md
infrastructure/scripts/aws/copy_to_cluster.sh
infrastructure/scripts/aws/launch_cluster.sh
infrastructure/scripts/aws/run_on_cluster.sh
infrastructure/scripts/aws/run_tests.sh
infrastructure/src/main/java/org/apache/geode/infrastructure/aws/AwsBenchmarkMetadata.java
infrastructure/src/main/java/org/apache/geode/infrastructure/aws/LaunchCluster.java