Benchmark Report

Jun 22, 2026, 6:53 PMVoxelBench plugin 1.4.014 min 27 s benchmark
PublicSTANDARDStandard scoring 8.1.0· earlier scoring
Public description

My server on epyc01.craftinghosting.com

Total score
32,682
RankD
Single Core48,017
Gameplay52,691
Hardware13,736
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 = 298.3 ms
  • mspt_p99 = 1,564.87 ms
  • spike_ratio = 5.25 ratio
  • sample_count = 77 count

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

Multipliers appliedSynergy ×0.953Stability ×0.911Duration ×0.983

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 = 298.3 ms
  • mspt_p99 = 1,564.87 ms
  • spike_ratio = 5.25 ratio
  • sample_count = 77 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 = 78.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 78.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 298.3 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 298.3 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": "purpur",
    "minecraft": "1.21.11",
    "java": "25.0.3"
  },
  "recommendations": [
    {
      "id": "paper.redstone-alternatif",
      "family": "paper",
      "measure": "redstone.mspt.avg",
      "value": 78.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": 298.3,
      "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": 298.3,
      "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: G1Memory: 31744 MiB, safe heap up to 26982 MiB
Current line (21 arguments)

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

-Xms256M -Xmx3687M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=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.

-Xms3687M -XX:+AlwaysPreTouch

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 collection48 collections, 663ms total
TPS
min
19.95
avg
20.00
max
20.00
MSPT
min
33.30
avg
78.40
max
140.00
Percentiles and stability
TPS P1 (worst)19.95
TPS P519.99
TPS P50 (median)20.00
MSPT P95131.41
MSPT P99 (worst)140.03
TPS σ0.090
MSPT σ39.789
TPS derived from MSPT7.61
TPS stability0.5%(Stable)
MSPT stability159.2%(Unstable)
Raw data (3 fields)
pistonCount: 1,600gcCount: 48gcTimeMs: 663
Block PhysicsHealthy

Single-core stress via falling-block physics.

  • Heavy garbage collection7 collections, 310ms total
TPS
min
15.00
avg
19.84
max
20.00
MSPT
min
15.50
avg
31.70
max
42.30
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.98
TPS P50 (median)20.00
MSPT P9539.94
MSPT P99 (worst)42.28
TPS σ0.876
MSPT σ6.835
TPS derived from MSPT20.00
TPS stability4.4%(Stable)
MSPT stability27.3%(Unstable)
Raw data (4 fields)
spawnFrequency: 1gcCount: 7fallingBlockCount: 24,000gcTimeMs: 310

Exploration

Chunk LoadingHealthy

Chunk generation and loading speed across dispersed zones.

  • Heavy garbage collection8 collections, 1323ms total
TPS
min
15.00
avg
19.88
max
20.00
MSPT
min
3.80
avg
7.70
max
38.80
Avg window84.6 chunks
Chunks loaded16000 chunks
Avg chunk load time1.87 ms
Chunks/sec511.46 chunks/s
Peak window140 chunks
Critical brakes0 events
Peak observed MSPT140.0 ms
Percentiles and stability
TPS P1 (worst)15.00
TPS P519.97
TPS P50 (median)20.00
MSPT P9510.55
MSPT P99 (worst)38.81
TPS σ0.744
MSPT σ4.516
TPS derived from MSPT20.00
TPS stability3.7%(Stable)
MSPT stability18.1%(Moderate)
Raw data (2 fields)
gcCount: 8gcTimeMs: 1,323
Chunk TickingHealthy

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

  • Heavy garbage collection13 collections, 561ms total
TPS
min
15.00
avg
19.62
max
20.00
MSPT
min
28.80
avg
33.40
max
44.40
Chunks ticked200 chunks
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.00
TPS P50 (median)20.00
MSPT P9537.44
MSPT P99 (worst)42.66
TPS σ1.322
MSPT σ2.560
TPS derived from MSPT20.00
TPS stability6.6%(Stable)
MSPT stability10.2%(Moderate)
Raw data (3 fields)
gcCount: 13tickSpeed: 20gcTimeMs: 561
Lighting UpdateHealthy

Lighting recomputation throughput on block place / break.

  • Heavy garbage collection1 collections, 126ms total
TPS
min
19.96
avg
20.00
max
20.00
MSPT
min
3.80
avg
5.60
max
10.90
Total lighting updates3207 count
Lighting updates/sec128.0 ops/s
Percentiles and stability
TPS P1 (worst)19.98
TPS P519.99
TPS P50 (median)20.00
MSPT P959.14
MSPT P99 (worst)10.84
TPS σ0.007
MSPT σ1.398
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability5.6%(Stable)
Raw data (2 fields)
gcCount: 1gcTimeMs: 126

Entities

Mob AICritical

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

  • Unfiltered samples usedUsing unfiltered samples (filter rate: 95%)
  • Heavy garbage collection13 collections, 1094ms total
  • The run did not hold steadyTPS avg=5.90<19, TPS P1=3.81<15, TPS StdDev=3.40>2, TPS min=3.81 (65% of avg)
Phase 1
TPS 5.00
MSPT 363.54 ms
Phase 2
TPS 5.00
MSPT 242.72 ms
TPS
min
3.81
avg
5.90
max
20.00
MSPT
min
4.10
avg
298.30
max
1564.90
Percentiles and stability
TPS P1 (worst)3.81
TPS P55.00
TPS P50 (median)5.00
MSPT P95763.68
MSPT P99 (worst)1564.87
TPS σ3.400
MSPT σ203.963
TPS derived from MSPT1.31
TPS stability17.0%(Moderate)
MSPT stability815.9%(Unstable)
Raw data (12 fields)
globalAvgTps: 5.00phase2AvgTps: 5.00gcCount: 13globalAvgMspt: 303.13villagerCount: 2,400phase1AvgTps: 5.00filterRate: 0.95hostileMobCount: 1,200phase1AvgMspt: 363.54houseCount: 120phase2AvgMspt: 242.72gcTimeMs: 1,094

Mechanics

HopperUnstable

Intensive hopper chain item transfers.

  • Heavy garbage collection19 collections, 959ms total
  • The run did not hold steadyTPS avg=14.34<19, TPS P1=10.00<15, TPS StdDev=4.06>2, TPS min=10.00 (70% of avg)
TPS
min
10.00
avg
14.34
max
20.00
MSPT
min
4.30
avg
7.30
max
10.60
Items transferred38000 items
Transfer efficiency95.0 %
Items/sec1146.7 items/s
Percentiles and stability
TPS P1 (worst)10.00
TPS P510.00
TPS P50 (median)12.01
MSPT P9510.01
MSPT P99 (worst)10.63
TPS σ4.064
MSPT σ2.012
TPS derived from MSPT20.00
TPS stability20.3%(Unstable)
MSPT stability8.0%(Stable)
Raw data (2 fields)
gcCount: 19gcTimeMs: 959
ExplosionHealthy

Massive TNT explosions and block destruction.

  • Heavy garbage collection2 collections, 192ms total
TPS
min
15.14
avg
19.92
max
20.00
MSPT
min
4.70
avg
8.00
max
16.40
TPS drop during explosions4.86 TPS
Blocks destroyed7473 blocks
Block destruction throughput439.59 blocks/s
Percentiles and stability
TPS P1 (worst)15.14
TPS P519.84
TPS P50 (median)20.00
MSPT P9515.01
MSPT P99 (worst)16.41
TPS σ0.568
MSPT σ2.928
TPS derived from MSPT20.00
TPS stability2.8%(Stable)
MSPT stability11.7%(Moderate)
Raw data (2 fields)
gcCount: 2gcTimeMs: 192
Ticking Tile EntitiesHealthy

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

  • Heavy garbage collection1 collections, 101ms total
TPS
min
19.99
avg
20.00
max
20.00
MSPT
min
4.70
avg
5.30
max
7.00
Percentiles and stability
TPS P1 (worst)19.99
TPS P519.99
TPS P50 (median)20.00
MSPT P956.02
MSPT P99 (worst)6.36
TPS σ0.004
MSPT σ0.394
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability1.6%(Stable)
Raw data (2 fields)
gcCount: 1gcTimeMs: 101
World SaveHealthy

World save speed and TPS impact during save operations.

TPS
min
19.98
avg
20.00
max
20.00
MSPT
min
3.60
avg
4.00
max
4.80
World save write speed13.33 MB/s
TPS drop during save0.02 TPS
World size saved66.0 MB
Percentiles and stability
TPS P1 (worst)19.98
TPS P519.98
TPS P50 (median)20.00
MSPT P954.78
MSPT P99 (worst)4.78
TPS σ0.011
MSPT σ0.288
TPS derived from MSPT20.00
TPS stability0.1%(Stable)
MSPT stability1.2%(Stable)
Bone Meal GrowthHealthy

Rapid crop and tree growth via bone meal.

TPS
min
19.98
avg
20.00
max
20.00
MSPT
min
4.00
avg
5.00
max
9.70
Percentiles and stability
TPS P1 (worst)19.99
TPS P519.99
TPS P50 (median)20.00
MSPT P955.83
MSPT P99 (worst)8.30
TPS σ0.005
MSPT σ0.738
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability3.0%(Stable)
Raw data (6 fields)
cropsFullyGrown: 439growthRate: 21.72cropCount: 500boneMealUsed: 1,504treesGrown: 40saplingCount: 200

CPU

Single-Core (tick-aligned)Healthy

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

TPS
min
19.98
avg
20.00
max
20.00
MSPT
min
5.90
avg
6.90
max
8.30
Total operations102500000 ops
Single-core ops/s (tick-aligned)10236716 ops/s
Percentiles and stability
TPS P1 (worst)19.98
TPS P519.99
TPS P50 (median)20.00
MSPT P957.87
MSPT P99 (worst)8.34
TPS σ0.006
MSPT σ0.645
TPS derived from MSPT20.00
TPS stability0.0%(Stable)
MSPT stability2.6%(Stable)
Raw data (2 fields)
cpuKernel: int_alubatchSize: 500,000
Multi-Core CPUHealthy

Parallel computation throughput across worker threads.

TPS
min
15.04
avg
19.98
max
20.00
MSPT
min
3.50
avg
4.40
max
6.70
Total operations50000000000 ops
Aggregate ops/s438640433 ops/s
Percentiles and stability
TPS P1 (worst)19.82
TPS P519.97
TPS P50 (median)20.00
MSPT P955.26
MSPT P99 (worst)6.17
TPS σ0.232
MSPT σ0.471
TPS derived from MSPT20.00
TPS stability1.2%(Stable)
MSPT stability1.9%(Stable)
Raw data (2 fields)
tasksCompleted: 100cpuKernel: int_alu

Memory & Storage

Memory PerformanceHealthy

RAM bandwidth and latency.

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

  • Heavy garbage collection7 collections, 108ms total
TPS
min
15.01
avg
19.99
max
20.00
MSPT
min
3.60
avg
4.70
max
13.50
Sequential read52.97 MB/s
Memcpy throughput10558.61 MB/s
Random write5.74 MB/s
Memory latency188.4 ns
Sequential write22.29 MB/s
Random read5.49 MB/s
Percentiles and stability
TPS P1 (worst)19.94
TPS P519.98
TPS P50 (median)20.00
MSPT P955.50
MSPT P99 (worst)6.36
TPS σ0.190
MSPT σ0.604
TPS derived from MSPT20.00
TPS stability1.0%(Stable)
MSPT stability2.4%(Stable)
Raw data (2 fields)
gcCount: 7gcTimeMs: 108
Disk PerformanceHealthy

Sequential and random 4K read/write performance.

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

  • Heavy garbage collection39 collections, 1056ms total
TPS
min
18.52
avg
19.98
max
20.00
MSPT
min
3.80
avg
5.10
max
10.10
4K read latency p9911.5 µs
Sequential read979.23 MB/s
Random 4K write256.63 MB/s
4K read latency p955.3 µs
Random 4K write IOPS65698 IOPS
Random 4K read721.13 MB/s
4K write latency avg25.5 µs
4K read latency p503.2 µs
4K write latency p9959.8 µs
4K write latency p507.2 µs
4K write latency p9515.6 µs
Sequential write317.60 MB/s
4K read latency avg5.1 µs
Random 4K read IOPS184609 IOPS
Percentiles and stability
TPS P1 (worst)19.66
TPS P519.91
TPS P50 (median)20.00
MSPT P956.24
MSPT P99 (worst)9.27
TPS σ0.135
MSPT σ0.893
TPS derived from MSPT20.00
TPS stability0.7%(Stable)
MSPT stability3.6%(Stable)
Raw data (3 fields)
cacheInvalidated: yesgcCount: 39gcTimeMs: 1,056

Network

Network (NBT)Unstable

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

  • Heavy garbage collection39 collections, 454ms total
  • The run did not hold steadyTPS avg=15.27<19
TPS
min
15.00
avg
15.27
max
20.00
MSPT
min
59.70
avg
68.80
max
87.00
Objects processed20000 obj
NBT serialization throughput2.86 MB/s
Objects/sec608 obj/s
Bytes processed98656876 B
Percentiles and stability
TPS P1 (worst)15.00
TPS P515.00
TPS P50 (median)15.00
MSPT P9581.70
MSPT P99 (worst)86.96
TPS σ1.090
MSPT σ6.062
TPS derived from MSPT12.24
TPS stability5.5%(Stable)
MSPT stability24.2%(Unstable)
Raw data (2 fields)
gcCount: 39gcTimeMs: 454
›Machine and serverAMD EPYC 7543 32-Core Processor · Purpur · 1.21.11
CPU Information
ModelAMD EPYC 7543 32-Core Processor
VendorAuthenticAMD
Physical Cores8
Logical Cores8
Max Frequency2.799998 GHz
Server Information
Server TypePurpur (1.21.11-168-ea288d3 (MC: 1.21.11))
Minecraft Version1.21.11
Bukkit Version1.21.11-R0.1-SNAPSHOT
Java Version25.0.3
OSLinux
Location🇩🇪 Germany
Plugins15
JVM Memory
Max Heap3.60 GB
Allocated2.08 GB
Used1.82 GB
Free0.26 GB
Heap Usage50.4%
JVM Flags
-Xms256M -Xmx3687M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
Dispersed Zones8

Score Breakdown

Detailed sub-category scores

Hardware

Memory15,308
Disk16,410
Multi-Core7,933

Gameplay

Exploration81,678
Entities50,555
Mechanics35,902

Multipliers

Synergy Bonusx0.953
Stability Bonusx0.911
Duration Mult.x0.983