-
Notifications
You must be signed in to change notification settings - Fork 2
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:
./gradlew clean jmh
JMH Output:
Benchmark (cacheType) Mode Cnt Score Error Units
OffHeapGetPutBenchmark.read_only NMA thrpt 3 86969.521 ± 17694.144 ops/s
OffHeapGetPutBenchmark.read_only RocksDB thrpt 3 28159.341 ± 25779.160 ops/s
OffHeapGetPutBenchmark.readwrite NMA thrpt 3 79762.455 ± 56811.312 ops/s
OffHeapGetPutBenchmark.readwrite:readwrite_get NMA thrpt 3 55136.982 ± 40042.896 ops/s
OffHeapGetPutBenchmark.readwrite:readwrite_put NMA thrpt 3 24625.473 ± 17296.628 ops/s
OffHeapGetPutBenchmark.readwrite RocksDB thrpt 3 26837.526 ± 43070.891 ops/s
OffHeapGetPutBenchmark.readwrite:readwrite_get RocksDB thrpt 3 26168.778 ± 49384.360 ops/s
OffHeapGetPutBenchmark.readwrite:readwrite_put RocksDB thrpt 3 668.748 ± 11287.235 ops/s
OffHeapGetPutBenchmark.write_only NMA thrpt 3 75923.035 ± 27897.470 ops/s
OffHeapGetPutBenchmark.write_only RocksDB thrpt 3 2333.363 ± 13020.652 ops/s