874b6f20c2
Основа — Horizon (MIT). История апстрима не переносится: этот репозиторий ведёт свою.
422 lines
9.9 KiB
JSON
422 lines
9.9 KiB
JSON
{
|
|
"kind": "horizon-server-benchmark",
|
|
"date": "2026-10-18T19:32:00+00:00",
|
|
"machine": {
|
|
"system": "Linux",
|
|
"machine": "x86_64",
|
|
"cpus": 4,
|
|
"name": "ThinkPad, Intel Core i7-7500U, 32 GB, NixOS"
|
|
},
|
|
"commit": "f1d5bf520986b00a5b968a84d85809fca1a039fa",
|
|
"engine": "horizon-engine: the server build of #916 (horizon-client --no-default-features) at 519ec121, as install.sh --archive installed it",
|
|
"java": [
|
|
"openjdk 25.0.4.1 2026-08-18"
|
|
],
|
|
"settings": {
|
|
"servers": "horizon,vanilla",
|
|
"bots": "1,10,25,50",
|
|
"behaviour": "mixed",
|
|
"join_every": 1.0,
|
|
"warmup": 300,
|
|
"seconds": 300,
|
|
"seed": 12345,
|
|
"explore_speed": 0.8,
|
|
"gamerule": "",
|
|
"heap": "4g",
|
|
"nice": 19,
|
|
"bots_via": "ssh macmini",
|
|
"connect": "the ThinkPad's tailnet address",
|
|
"properties": {
|
|
"level-seed": "12345",
|
|
"view-distance": "10",
|
|
"simulation-distance": "10",
|
|
"online-mode": "false",
|
|
"white-list": "false",
|
|
"gamemode": "creative",
|
|
"force-gamemode": "true",
|
|
"spawn-protection": "0",
|
|
"max-players": "200",
|
|
"difficulty": "easy",
|
|
"sync-chunk-writes": "true"
|
|
}
|
|
},
|
|
"note": "server_bench.py was stopped after vanilla's 50-bot server crashed, before it wrote this file; the runs are the lines it printed, and the vanilla 50 entry is taken from that server's log.",
|
|
"runs": [
|
|
{
|
|
"server": "horizon",
|
|
"bots": 1,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 19.73,
|
|
"mspt": {
|
|
"average": 1.77,
|
|
"p50": 1.34,
|
|
"p95": 4.21,
|
|
"p99": 13.04
|
|
},
|
|
"mspt_worst_p99": 47.5,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 686.54,
|
|
"max": 686.7
|
|
},
|
|
"cpu_percent": 27.92,
|
|
"chunks_per_second": 9.94,
|
|
"unique_per_second": 0.01,
|
|
"forgotten_per_second": 9.9,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 6092,
|
|
"chunks_per_bot": {
|
|
"walk": 6092.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 699.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 0,
|
|
"moved_too_quickly": 0,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 1,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "vanilla",
|
|
"bots": 1,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 20.45,
|
|
"mspt": {
|
|
"average": 11.34,
|
|
"p50": 10.6,
|
|
"p95": 17.12,
|
|
"p99": 33.22
|
|
},
|
|
"mspt_worst_p99": 119.1,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 3404.16,
|
|
"max": 3416.3
|
|
},
|
|
"cpu_percent": 35.93,
|
|
"chunks_per_second": 9.98,
|
|
"unique_per_second": 0.01,
|
|
"forgotten_per_second": 9.93,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 6084,
|
|
"chunks_per_bot": {
|
|
"walk": 6084.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 699.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 0,
|
|
"moved_too_quickly": 0,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 1,
|
|
"bots_failed": [],
|
|
"tick_queries": 59
|
|
},
|
|
{
|
|
"server": "horizon",
|
|
"bots": 10,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 19.54,
|
|
"mspt": {
|
|
"average": 4.74,
|
|
"p50": 3.83,
|
|
"p95": 10.48,
|
|
"p99": 19.69
|
|
},
|
|
"mspt_worst_p99": 120.1,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 855.26,
|
|
"max": 882.7
|
|
},
|
|
"cpu_percent": 29.78,
|
|
"chunks_per_second": 61.35,
|
|
"unique_per_second": 1.79,
|
|
"forgotten_per_second": 61.47,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 40762,
|
|
"chunks_per_bot": {
|
|
"walk": 6247.67,
|
|
"explore": 1165.0,
|
|
"idle": 473.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 701.83,
|
|
"explore": 1086.0,
|
|
"idle": 473.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 4159,
|
|
"moved_too_quickly": 0,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 10,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "vanilla",
|
|
"bots": 10,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 19.95,
|
|
"mspt": {
|
|
"average": 34.3,
|
|
"p50": 32.2,
|
|
"p95": 53.72,
|
|
"p99": 89.08
|
|
},
|
|
"mspt_worst_p99": 375.8,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 3713.5,
|
|
"max": 3754.9
|
|
},
|
|
"cpu_percent": 128.07,
|
|
"chunks_per_second": 61.66,
|
|
"unique_per_second": 1.93,
|
|
"forgotten_per_second": 61.71,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 37568,
|
|
"chunks_per_bot": {
|
|
"walk": 5729.0,
|
|
"explore": 1124.0,
|
|
"idle": 473.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 701.17,
|
|
"explore": 1055.0,
|
|
"idle": 473.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 3976,
|
|
"moved_too_quickly": 20,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 10,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "horizon",
|
|
"bots": 25,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 9.61,
|
|
"mspt": {
|
|
"average": 11.72,
|
|
"p50": 9.88,
|
|
"p95": 24.45,
|
|
"p99": 43.79
|
|
},
|
|
"mspt_worst_p99": 129.8,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 947.35,
|
|
"max": 1086.1
|
|
},
|
|
"cpu_percent": 57.83,
|
|
"chunks_per_second": 158.57,
|
|
"unique_per_second": 5.78,
|
|
"forgotten_per_second": 158.45,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 108126,
|
|
"chunks_per_bot": {
|
|
"walk": 6628.53,
|
|
"explore": 1266.6,
|
|
"idle": 473.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 704.67,
|
|
"explore": 1189.2,
|
|
"idle": 473.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 3496,
|
|
"moved_too_quickly": 0,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 25,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "vanilla",
|
|
"bots": 25,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 37.78,
|
|
"mspt": {
|
|
"average": 50.45,
|
|
"p50": 46.39,
|
|
"p95": 74.09,
|
|
"p99": 191.21
|
|
},
|
|
"mspt_worst_p99": 1388.1,
|
|
"tps": 19.82,
|
|
"rss_mb": {
|
|
"mean": 3866.18,
|
|
"max": 4745.0
|
|
},
|
|
"cpu_percent": 192.42,
|
|
"chunks_per_second": 157.63,
|
|
"unique_per_second": 8.25,
|
|
"forgotten_per_second": 156.12,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 88763,
|
|
"chunks_per_bot": {
|
|
"walk": 5387.0,
|
|
"explore": 1118.6,
|
|
"idle": 473.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 699.0,
|
|
"explore": 1075.0,
|
|
"idle": 473.0
|
|
},
|
|
"resent": 2,
|
|
"pulled_back": 3629,
|
|
"moved_too_quickly": 296,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 25,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "horizon",
|
|
"bots": 50,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 14.93,
|
|
"mspt": {
|
|
"average": 23.82,
|
|
"p50": 20.11,
|
|
"p95": 50.98,
|
|
"p99": 74.64
|
|
},
|
|
"mspt_worst_p99": 195.9,
|
|
"tps": 20.0,
|
|
"rss_mb": {
|
|
"mean": 1031.41,
|
|
"max": 1201.2
|
|
},
|
|
"cpu_percent": 98.21,
|
|
"chunks_per_second": 302.81,
|
|
"unique_per_second": 10.96,
|
|
"forgotten_per_second": 303.47,
|
|
"waited_ticks_per_second": 0.0,
|
|
"chunks_total": 212181,
|
|
"chunks_per_bot": {
|
|
"walk": 6496.53,
|
|
"explore": 1255.5,
|
|
"idle": 473.0
|
|
},
|
|
"unique_chunks_per_bot": {
|
|
"walk": 701.9,
|
|
"explore": 1184.7,
|
|
"idle": 473.0
|
|
},
|
|
"resent": 0,
|
|
"pulled_back": 7565,
|
|
"moved_too_quickly": 0,
|
|
"moved_wrongly": 0,
|
|
"bots_joined": 50,
|
|
"bots_failed": [],
|
|
"tick_queries": 58
|
|
},
|
|
{
|
|
"server": "vanilla",
|
|
"bots": 50,
|
|
"behaviour": "mixed",
|
|
"start_seconds": 11.16,
|
|
"error": "stopped by its watchdog 30 s after the last bot joined: \"A single server tick took 60.01 seconds (should be max 0.05)\" (Player.tick)"
|
|
}
|
|
],
|
|
"work": [
|
|
{
|
|
"behaviour": "mixed",
|
|
"bots": 1,
|
|
"servers": {
|
|
"horizon": {
|
|
"chunks_per_second": {
|
|
"value": 9.94,
|
|
"share": 0.996
|
|
},
|
|
"unique_per_second": {
|
|
"value": 0.01,
|
|
"share": 1.0
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
},
|
|
"vanilla": {
|
|
"chunks_per_second": {
|
|
"value": 9.98,
|
|
"share": 1.0
|
|
},
|
|
"unique_per_second": {
|
|
"value": 0.01,
|
|
"share": 1.0
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
}
|
|
},
|
|
"equal": true
|
|
},
|
|
{
|
|
"behaviour": "mixed",
|
|
"bots": 10,
|
|
"servers": {
|
|
"horizon": {
|
|
"chunks_per_second": {
|
|
"value": 61.35,
|
|
"share": 0.995
|
|
},
|
|
"unique_per_second": {
|
|
"value": 1.79,
|
|
"share": 0.927
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
},
|
|
"vanilla": {
|
|
"chunks_per_second": {
|
|
"value": 61.66,
|
|
"share": 1.0
|
|
},
|
|
"unique_per_second": {
|
|
"value": 1.93,
|
|
"share": 1.0
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
}
|
|
},
|
|
"equal": true
|
|
},
|
|
{
|
|
"behaviour": "mixed",
|
|
"bots": 25,
|
|
"servers": {
|
|
"horizon": {
|
|
"chunks_per_second": {
|
|
"value": 158.57,
|
|
"share": 1.0
|
|
},
|
|
"unique_per_second": {
|
|
"value": 5.78,
|
|
"share": 0.701
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
},
|
|
"vanilla": {
|
|
"chunks_per_second": {
|
|
"value": 157.63,
|
|
"share": 0.994
|
|
},
|
|
"unique_per_second": {
|
|
"value": 8.25,
|
|
"share": 1.0
|
|
},
|
|
"waited_ticks_per_second": 0.0
|
|
}
|
|
},
|
|
"equal": false
|
|
}
|
|
]
|
|
}
|