Skip to content

Benchmark results in GCP VM

Aaron Riekenberg edited this page Feb 3, 2023 · 16 revisions

Setup

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/

Results

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
Clone this wiki locally