Skip to content

Apache SkyWalking — Benchmarks

Performance data for GraalVM Distro, BanyanDB vs Elasticsearch, and V2 engine improvements.

GraalVM Distro Benchmarks

Test Environment

Parameter Value
Hardware Apple M3 Max
OS macOS, Docker Desktop
Resources 10 CPUs, 62.7 GB RAM
Storage BanyanDB
Load Kind + Istio 1.25.2 + Bookinfo at ~20 RPS
Replicas 2 OAP replicas
Samples 30 at 10s intervals after 60s warmup

Boot Test (median of 3 runs)

Metric JVM OAP GraalVM Native Improvement
Startup time ~635 ms ~5 ms 127x faster
Idle memory (RSS) ~1.2 GiB ~41 MiB 97% reduction

Under Sustained Load (~20 RPS)

Metric JVM OAP GraalVM Native Improvement
Memory under load ~2.0 GiB ~629 MiB 70% reduction
Warm-up required Yes (JIT) No Instant peak throughput
Traffic processing Baseline Identical CPM No throughput penalty

Operational Benefits

Aspect Impact
Pod rescheduling 5ms startup → telemetry gap eliminated
Edge/sidecar deployment 41 MiB idle makes it practical
CVE surface No JDK runtime → fewer CVEs
Cost 70% less RAM per pod at production load

Source: SkyWalking GraalVM Distro Blog, March 2026.

BanyanDB vs Elasticsearch

Test Conditions

Parameter Value
BanyanDB version v0.6.1
Elasticsearch version 8.13.2
Workload SkyWalking APM telemetry

Results

Metric BanyanDB Elasticsearch Advantage
Memory usage Baseline ~5x more BanyanDB 5x less RAM
Disk usage Baseline ~30% more BanyanDB 30% less disk
Disk IOPS Baseline ~5x more BanyanDB 5x less I/O
Disk throughput Baseline ~4x more BanyanDB 4x less bandwidth
CPU usage Slightly higher Baseline Elasticsearch slightly better (compression overhead)

Source: BanyanDB benchmark blog — official SkyWalking community testing.

V2 Engine Performance (v10.4.0)

MAL V2 (Metric Analysis Language)

Operation V1 (Groovy) V2 (ANTLR4) Speedup
Execution Baseline ~6.8x faster Immutable AST, no ThreadLocal

LAL V2 (Log Analysis Language)

Operation V1 (Groovy) V2 (ANTLR4) Speedup
Compile Baseline ~39x faster ANTLR4 parse
Execute Baseline ~2.8x faster Javassist bytecode

Thread Reduction

Pool V1 Threads V2 Threads Reduction
Total OAP threads 150+ ~72 ~50%
L1 Aggregation 26 10 62%
L2 Persistence 3 4 (unified)
TopN Persistence 4 1 75%

Buffer Slot Reduction

Queue V1 Slots V2 Slots Reduction
L1 Aggregation ~12.5M ~6.6M 47%
L2 Persistence ~1.34M ~660K 51%

Caveats

  • GraalVM Distro is experimental — current scope: BanyanDB storage, standalone + K8s only
  • BanyanDB benchmarks used v0.6.1; production version is now v0.10.1 with additional optimizations
  • V2 engine speedups measured against Groovy-based V1; production workload impact will vary

Sources