-
Notifications
You must be signed in to change notification settings - Fork 3
Benchmark results in GCP VM
Aaron Riekenberg edited this page Feb 3, 2023
·
16 revisions
Results in Google Cloud (GCP) VM using JDK 17. Running on n1-standard-32 VM (32 CPUs, 120GB RAM), CentOS 7.
In the OffHeapGetPutBenchmark test NMA and RocksDB are populated with 50,000 byte array values of size 100KB each (5GB of data)
The keys are the strings "0" - "49999"
In NMA tests data is not persisted on disk.
Command to build JMH fat-jar:
./gradlew clean jmhJar
JMH Configuration:
# JMH version: 1.35
# VM version: JDK 17.0.6, Java HotSpot(TM) 64-Bit Server VM, 17.0.6+9-LTS-190
# VM invoker: /home/bastion/jdk-17.0.6/bin/java
# VM options: -Xmx4G -Drocksdb.dir=/tmp/tmpfs/rocksdb
# Blackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)
# Warmup: 10 iterations, 10 s each
# Measurement: 20 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 32 threads, will synchronize iterations
# Benchmark mode: Throughput, ops/time
For RocksDB create a 10GB tmpfs mount:
mkdir /tmp/tmpfs
mount -t tmpfs -o size=10G tmpfs /tmp/tmpfs/
Run Command:
java -jar ./benchmarks-jmh.jar -wi 10 -i 20 -f 1 -gc true -foe true -tg 32 -jvmArgs '-Xmx4G -Drocksdb.dir=/tmp/tmpfs/rocksdb' read_only
JMH Output:
Benchmark (cacheType) Mode Cnt Score Error Units
OffHeapGetPutBenchmark.read_only NMA thrpt 20 257757.605 ± 8839.383 ops/s
OffHeapGetPutBenchmark.read_only RocksDB thrpt 20 115404.987 ± 1932.411 ops/s
Run Command:
java -jar ./benchmarks-jmh.jar -wi 10 -i 20 -f 1 -gc true -foe true -tg 32 -jvmArgs '-Xmx4G -Drocksdb.dir=/tmp/tmpfs/rocksdb' write_only
JMH Output:
Benchmark (cacheType) Mode Cnt Score Error Units
OffHeapGetPutBenchmark.write_only NMA thrpt 20 190787.387 ± 4778.554 ops/s
OffHeapGetPutBenchmark.write_only RocksDB thrpt 20 2550.137 ± 484.113 ops/s
Run Command:
java -jar ./benchmarks-jmh.jar -wi 10 -i 20 -f 1 -gc true -foe true -tg 24,8 -jvmArgs '-Xmx4G -Drocksdb.dir=/tmp/tmpfs/rocksdb' readwrite
JMH Output: