Benchmark Report

Jun 26, 2026, 7:55 PMVoxelBench plugin 1.4.013 min 49 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Public description

Server on personal VPS with 3c Epyc 7402, 4GB+2GB SWAP and 10GB NVMe allocated to server

Total score
36,082
RankD
Single Core53,175
Gameplay56,896
Hardware12,649
How this score is built
The verdict

Tick spikes · Mob AI

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 324.4 ms
  • mspt_p99 = 1,348.11 ms
  • spike_ratio = 4.16 ratio
  • sample_count = 76 count

Weakest test: Mob AI, 5.91 TPS on average. The 15 other tests hold at least 16.56 TPS.

Multipliers appliedSynergy ×0.946Stability ×0.929Duration ×0.993

Compared with other servers

The comparison with other servers uses reports scored with version 8.3.0 of the scoring rules. This report was scored with another version, so its score is not comparable.

What matters

Read from the measurements, never estimated
CriticalMob AI

Tick spikes

The worst ticks are several times the mean. Average TPS stays fine while players feel the stutter.

  • mspt_avg = 324.4 ms
  • mspt_p99 = 1,348.11 ms
  • spike_ratio = 4.16 ratio
  • sample_count = 76 count
See the setting this justifies
Good to know

Non-default server configuration

Compare with care against a server running default settings.

  • spawn-limit.water-ambient 15 (default 20)
›+3 more findings
For informationMemory latency not measuredmemorynot measured

No access latency was published, so the score assumed an unfavourable one. Publishing the measurement can only help.

  • assumed_latency_ns = 180 ns
  • reference_latency_ns = 120 ns
For informationRandom 4K not measureddisknot measured

Direct IO was refused by the host, so the random part of the disk score rests on an assumption rather than a measurement.

  • assumed_random_mbps = 90 MB/s
  • reference_random_mbps = 150 MB/s
For informationMain thread saturatedredstonesingle core

One game thread is already over its tick budget under the benchmark's own load. Players and redstone will push it further.

  • mspt_avg = 72.4 ms
  • mspt_target = 35 ms
  • tps_avg = 20 tps
  • tps_held_threshold = 18 tps

A finding stays silent rather than attribute a cause without evidence. An absent cause is an answer, not an omission.

Test by test

Problems first — select a row for the full test

Settings your measurements justify

Each setting below is triggered by a measurement from this report, and names the test to replay to find out whether it helped.

Paperconfig/paper-world-defaults.yml

Switch the redstone implementation

misc.redstone-implementation: ALTERNATE_CURRENT

Measured : redstone.mspt.avg 72.4 ms (threshold 35.0 ms)

Redstone costs more per tick than the budget allows. Paper ships an alternative wire implementation that computes the same result without the repeated updates of the vanilla one.

Test to replay : redstone

Spigotspigot.yml

Shrink the monster activation range

world-settings.default.entity-activation-range.monsters: 24

Measured : mobAI.mspt.avg 324.4 ms (threshold 35.0 ms)

Mob AI costs more per tick than the budget allows. The activation range decides how far from a player a monster keeps thinking; shrinking it puts distant ones to sleep without removing them.

Test to replay : mobAI

Bukkitbukkit.yml

Lower the monster spawn limit

spawn-limits.monsters: 50

Currently : 70

Measured : mobAI.mspt.avg 324.4 ms (threshold 50.0 ms)

Mob AI is past the critical cost per tick, where shrinking the activation range is no longer enough. The spawn limit caps how many monsters exist per player at all, which is the only setting here that reduces the work rather than deferring it.

Test to replay : mobAI

These settings trade a little gameplay fidelity for tick budget. Apply one at a time and replay the named test: the effect stays a hypothesis until you have measured it.

Briefing for a language model

Paste this into the assistant of your choice to have it rewritten in prose. It already carries every number, so the model has none left to invent.

{
  "format": "voxelbench.tuning.v1",
  "instruction": "Rewrite each recommendation below as plain prose for a server operator. Every number you are allowed to use is already in this document: the measured value, its threshold, and the proposed setting. Do not compute, estimate or predict any other number, and never state an expected gain. Keep every setting name and value exactly as written.",
  "server": {
    "type": "paper",
    "minecraft": "1.21.11",
    "java": "25.0.3"
  },
  "recommendations": [
    {
      "id": "paper.redstone-alternatif",
      "family": "paper",
      "measure": "redstone.mspt.avg",
      "value": 72.4,
      "unit": "ms",
      "threshold": 35,
      "control_test": "redstone",
      "file": "config/paper-world-defaults.yml",
      "setting": "misc.redstone-implementation",
      "proposed_value": "ALTERNATE_CURRENT",
      "current_value": null
    },
    {
      "id": "spigot.portee-activation-monstres",
      "family": "spigot",
      "measure": "mobAI.mspt.avg",
      "value": 324.4,
      "unit": "ms",
      "threshold": 35,
      "control_test": "mobAI",
      "file": "spigot.yml",
      "setting": "world-settings.default.entity-activation-range.monsters",
      "proposed_value": "24",
      "current_value": null
    },
    {
      "id": "bukkit.limite-monstres",
      "family": "bukkit",
      "measure": "mobAI.mspt.avg",
      "value": 324.4,
      "unit": "ms",
      "threshold": 50,
      "control_test": "mobAI",
      "file": "bukkit.yml",
      "setting": "spawn-limits.monsters",
      "proposed_value": "50",
      "current_value": "70"
    }
  ]
}

Java start-up line

The options this server was started with, checked against its Java version. Corrections fix what is certainly wrong; leads to test are settings to measure, never applied for you.

Nothing to correctJava 25JVM not identifiedCollector: chosen by the JVMMemory: 7168 MiB, safe heap up to 6092 MiB
Current line (4 arguments)

Values of system properties, agents and file paths are never shown: they appear as <redacted>.

-Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true

Nothing to correct: every option is valid for Java 25.

To test

Performance settings to try one at a time, then measure with a benchmark before and after. None of them is applied in the corrected line, and none comes with a promised gain.

to testAikar's G1 settings

Settings documented by PaperMC for Minecraft servers: they size G1's young generation for the game's very high allocation rate and start collections earlier. Initial and maximum heap at the same size, with AlwaysPreTouch, commit the whole heap at start-up: proposed only because that heap already stays under the memory limit.

-Xms4284M -Xmx4284M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1

No measurement of this run points to it: it stays a lead to measure.

source

Re-run and compare

  1. Apply the corrected line where your server starts (panel start-up parameters, start.sh).
  2. Restart the server.
  3. Run a new benchmark: /bench start
  4. Compare the new report with this one.
Open the comparison with this report

This report is the before; add the new report to the comparison once it is in. A single run on each side says little: the gap between two runs of an unchanged server is noise.

Every measurement

Each test in full. Tests in trouble are open; the others fold to their summary line.

Single-Core Stress

RedstoneHealthy

Single-core stress via intensive redstone circuit updates.

  • Heavy garbage collection79 collections, 1012ms total
TPS
min
19.91
avg
20.00
max
20.00
MSPT
min
31.90
avg
72.40
max
134.70
Percentiles and stability
TPS P1 (worst)19.91
TPS P519.99
TPS P50 (median)20.00
MSPT P95132.69
MSPT P99 (worst)134.71
TPS σ0.021
MSPT σ40.481
TPS derived from MSPT7.54
TPS stability0.1%(Stable)
MSPT stability161.9%(Unstable)
Raw data (3 fields)
pistonCount: 1,600gcCount: 79gcTimeMs: 1,012
Block PhysicsHealthy

Single-core stress via falling-block physics.

  • Heavy garbage collection13 collections, 1016ms total
TPS
min
19.62
avg
19.99
max
20.00
MSPT
min
14.20
avg
31.70
max
41.20
Percentiles and stability
TPS P1 (worst)19.62
TPS P519.99
TPS P50 (median)20.00
MSPT P9539.68
MSPT P99 (worst)41.18
TPS σ0.072
MSPT σ6.255
TPS derived from MSPT20.00
TPS stability0.4%(Stable)
MSPT stability25.0%(Unstable)
Raw data (4 fields)
spawnFrequency: 1gcCount: 13fallingBlockCount: 24,000gcTimeMs: 1,016

Exploration

Chunk LoadingHealthy

Chunk generation and loading speed across dispersed zones.

  • Heavy garbage collection26 collections, 3093ms total
TPS
min
15.00
avg
19.89
max
20.00
MSPT
min
3.40
avg
5.80
max
25.10
Avg window112.0 chunks
Chunks loaded16000 chunks
Avg chunk load time1.58 ms
Chunks/sec611.53 chunks/s
Peak window199 chunks
Critical brakes0 events
Peak observed MSPT82.1 ms
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.98
TPS P50 (median)20.00
MSPT P957.79
MSPT P99 (worst)25.15
TPS σ0.737
MSPT σ2.544
TPS derived from MSPT20.00
TPS stability3.7%(Stable)
MSPT stability10.2%(Moderate)
Raw data (2 fields)
gcCount: 26gcTimeMs: 3,093
Chunk TickingHealthy

Server performance when ticking many loaded chunks with random tick updates.

  • Heavy garbage collection20 collections, 1235ms total
TPS
min
19.86
avg
20.00
max
20.00
MSPT
min
25.10
avg
31.00
max
41.80
Chunks ticked200 chunks
Percentiles and stability
TPS P1 (worst)19.90
TPS P519.99
TPS P50 (median)20.00
MSPT P9538.99
MSPT P99 (worst)41.59
TPS σ0.024
MSPT σ3.697
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability14.8%(Moderate)
Raw data (3 fields)
gcCount: 20tickSpeed: 20gcTimeMs: 1,235
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

  • Heavy garbage collection4 collections, 307ms total
TPS
min
19.85
avg
20.00
max
20.00
MSPT
min
3.60
avg
5.00
max
10.50
Total lighting updates3212 count
Lighting updates/sec127.2 ops/s
Percentiles and stability
TPS P1 (worst)19.94
TPS P519.99
TPS P50 (median)20.00
MSPT P957.98
MSPT P99 (worst)9.70
TPS σ0.023
MSPT σ1.373
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability5.5%(Stable)
Raw data (2 fields)
gcCount: 4gcTimeMs: 307

Entities

Mob AICritical

Complex mob AI behaviours (villagers, iron golems, hostile mobs).

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 95%)
  • Heavy garbage collection18 collections, 984ms total
  • The run did not hold steadyTPS avg=5.91<19, TPS P1=3.82<15, TPS StdDev=3.54>2, TPS min=3.82 (65% of avg)
Phase 1
TPS 4.91
MSPT 426.78 ms
Phase 2
TPS 5.00
MSPT 275.35 ms
TPS
min
3.82
avg
5.91
max
20.00
MSPT
min
3.40
avg
324.40
max
1348.10
Percentiles and stability
TPS P1 (worst)3.82
TPS P55.00
TPS P50 (median)5.00
MSPT P95525.49
MSPT P99 (worst)1348.11
TPS σ3.538
MSPT σ194.681
TPS derived from MSPT1.90
TPS stability17.7%(Moderate)
MSPT stability778.7%(Unstable)
Raw data (12 fields)
globalAvgTps: 4.96phase2AvgTps: 5.00gcCount: 18globalAvgMspt: 351.07villagerCount: 2,400phase1AvgTps: 4.91filterRate: 0.95hostileMobCount: 1,200phase1AvgMspt: 426.78houseCount: 120phase2AvgMspt: 275.35gcTimeMs: 984

Mechanics

HopperHealthy

Intensive hopper chain item transfers.

  • Heavy garbage collection11 collections, 845ms total
TPS
min
16.48
avg
19.54
max
20.00
MSPT
min
3.50
avg
4.80
max
5.90
Items transferred38080 items
Transfer efficiency95.2 %
Items/sec1970.5 items/s
Percentiles and stability
TPS P1 (worst)16.48
TPS P517.50
TPS P50 (median)20.00
MSPT P955.69
MSPT P99 (worst)5.89
TPS σ0.970
MSPT σ0.488
TPS derived from MSPT20.00
TPS stability4.9%(Stable)
MSPT stability2.0%(Stable)
Raw data (2 fields)
gcCount: 11gcTimeMs: 845
ExplosionHealthy

Massive TNT explosions and block destruction.

  • Heavy garbage collection8 collections, 997ms total
TPS
min
19.96
avg
20.00
max
20.00
MSPT
min
4.30
avg
7.20
max
17.80
TPS drop during explosions0.04 TPS
Blocks destroyed7361 blocks
Block destruction throughput419.43 blocks/s
Percentiles and stability
TPS P1 (worst)19.96
TPS P520.00
TPS P50 (median)20.00
MSPT P9515.14
MSPT P99 (worst)17.80
TPS σ0.008
MSPT σ2.877
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability11.5%(Moderate)
Raw data (2 fields)
gcCount: 8gcTimeMs: 997
Ticking Tile EntitiesHealthy

Many ticking tile entities (furnaces, hoppers, etc.).

  • Heavy garbage collection3 collections, 801ms total
TPS
min
19.84
avg
20.00
max
20.00
MSPT
min
3.80
avg
4.90
max
8.30
Percentiles and stability
TPS P1 (worst)19.95
TPS P519.99
TPS P50 (median)20.00
MSPT P957.48
MSPT P99 (worst)8.18
TPS σ0.020
MSPT σ0.923
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability3.7%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 801
World SaveHealthy

World save speed and TPS impact during save operations.

  • Heavy garbage collection3 collections, 641ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
3.00
avg
4.00
max
6.40
World save write speed17.42 MB/s
TPS drop during save0.01 TPS
World size saved83.0 MB
Percentiles and stability
TPS P1 (worst)19.99
TPS P519.99
TPS P50 (median)20.00
MSPT P956.37
MSPT P99 (worst)6.37
TPS σ0.002
MSPT σ0.877
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability3.5%(Stable)
Raw data (2 fields)
gcCount: 3gcTimeMs: 641
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

  • Heavy garbage collection1 collections, 243ms total
TPS
min
19.95
avg
20.00
max
20.00
MSPT
min
3.30
avg
4.10
max
5.60
Percentiles and stability
TPS P1 (worst)19.95
TPS P519.99
TPS P50 (median)20.00
MSPT P955.05
MSPT P99 (worst)5.43
TPS σ0.010
MSPT σ0.441
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability1.8%(Stable)
Raw data (8 fields)
cropsFullyGrown: 474gcCount: 1growthRate: 23.01cropCount: 500boneMealUsed: 1,541treesGrown: 38saplingCount: 200gcTimeMs: 243

CPU

Single-Core (tick-aligned)Healthy

Single-thread compute throughput measured on the main thread under the tick scheduler.

  • Heavy garbage collection3 collections, 664ms total
TPS
min
19.90
avg
20.00
max
20.00
MSPT
min
5.10
avg
6.30
max
9.40
Total operations103000000 ops
Single-core ops/s (tick-aligned)10260863 ops/s
Percentiles and stability
TPS P1 (worst)19.90
TPS P519.99
TPS P50 (median)20.00
MSPT P958.47
MSPT P99 (worst)9.42
TPS σ0.022
MSPT σ0.890
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability3.6%(Stable)
Raw data (4 fields)
gcCount: 3cpuKernel: int_alubatchSize: 500,000gcTimeMs: 664
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

  • Heavy garbage collection1 collections, 207ms total
TPS
min
17.98
avg
19.99
max
20.00
MSPT
min
2.80
avg
3.90
max
8.10
Total operations50000000000 ops
Aggregate ops/s658969292 ops/s
Percentiles and stability
TPS P1 (worst)19.98
TPS P520.00
TPS P50 (median)20.00
MSPT P955.86
MSPT P99 (worst)6.78
TPS σ0.148
MSPT σ0.870
TPS derived from MSPT20.00
TPS stability0.7%(Stable)
MSPT stability3.5%(Stable)
Raw data (4 fields)
tasksCompleted: 100gcCount: 1cpuKernel: int_alugcTimeMs: 207

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

JVM measurements — do not reflect actual bare-metal performance.

  • Heavy garbage collection13 collections, 874ms total
TPS
min
19.76
avg
20.00
max
20.00
MSPT
min
3.10
avg
3.90
max
8.40
Sequential read63.33 MB/s
Memcpy throughput8877.59 MB/s
Random write5.52 MB/s
Memory latency175.2 ns
Sequential write20.73 MB/s
Random read6.36 MB/s
Percentiles and stability
TPS P1 (worst)19.96
TPS P519.99
TPS P50 (median)20.00
MSPT P954.77
MSPT P99 (worst)5.77
TPS σ0.028
MSPT σ0.493
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability2.0%(Stable)
Raw data (2 fields)
gcCount: 13gcTimeMs: 874
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

JVM measurements — do not reflect actual bare-metal performance.

  • Heavy garbage collection43 collections, 571ms total
TPS
min
19.97
avg
20.00
max
20.00
MSPT
min
3.10
avg
4.20
max
7.30
4K read latency p996.2 µs
Sequential read249.84 MB/s
Random 4K write249.66 MB/s
4K read latency p953.7 µs
Random 4K write IOPS63913 IOPS
Random 4K read1295.97 MB/s
4K write latency avg42.3 µs
4K read latency p501.8 µs
4K write latency p9924.6 µs
4K write latency p503.5 µs
4K write latency p958.8 µs
Sequential write144.20 MB/s
4K read latency avg2.3 µs
Random 4K read IOPS331770 IOPS
Percentiles and stability
TPS P1 (worst)19.98
TPS P520.00
TPS P50 (median)20.00
MSPT P955.56
MSPT P99 (worst)6.92
TPS σ0.005
MSPT σ0.663
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability2.7%(Stable)
Raw data (3 fields)
cacheInvalidated: yesgcCount: 43gcTimeMs: 571

Network

Network (NBT)Unstable

Serialisation throughput — proxy for the rate at which the server can ship world data to clients.

  • Heavy garbage collection38 collections, 338ms total
  • The run did not hold steadyTPS avg=16.56<19, TPS StdDev=2.33>2
TPS
min
15.00
avg
16.56
max
20.00
MSPT
min
51.70
avg
64.40
max
86.90
Objects processed20000 obj
NBT serialization throughput3.68 MB/s
Objects/sec717 obj/s
Bytes processed107742239 B
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.00
TPS P50 (median)15.00
MSPT P9579.65
MSPT P99 (worst)86.86
TPS σ2.326
MSPT σ7.233
TPS derived from MSPT12.55
TPS stability11.6%(Moderate)
MSPT stability28.9%(Unstable)
Raw data (2 fields)
gcCount: 38gcTimeMs: 338
›Machine and serverAMD EPYC 7402 24-Core Processor · Paper · 1.21.11
CPU Information
ModelAMD EPYC 7402 24-Core Processor
VendorAuthenticAMD
Physical Cores4
Logical Cores4
Max Frequency2.794748 GHz
Server Information
Server TypePaper (1.21.11-132-c5eb079 (MC: 1.21.11))
Minecraft Version1.21.11
Bukkit Version1.21.11-R0.1-SNAPSHOT
Java Version25.0.3
OSLinux
Location🇫🇷 France
Plugins1
JVM Memory
Max Heap4.18 GB
Allocated1.20 GB
Used0.48 GB
Free0.72 GB
Heap Usage11.4%
JVM Flags
-Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true
Dispersed Zones8

Score Breakdown

Detailed sub-category scores

Hardware

Memory14,160
Disk9,449
Multi-Core12,771

Gameplay

Exploration88,731
Entities52,884
Mechanics38,698

Multipliers

Synergy Bonusx0.946
Stability Bonusx0.929
Duration Mult.x0.993