Minecraft服務端性能測試:CPU紅藍對決

這段時間持續(xù)性地聽說一些關于intel和AMD處理器在Minecraft服務端性能方面的流言,我決定做一回流言終結者,用實際測試搞清楚情況,同時以此指導我自己下一臺服務器的配置。必須提前聲明:本次測試是基于我自己的條件,服務于我自己的需求。
一、測試環(huán)境
紅方為 Ryzen 5 5600X(定頻4.6GHz);藍方為 Core i5-12500(無溫度/功耗墻)。
測試雙方使用不同的內存條,但內存參數均如圖1,基本保持一致。

測試使用同一塊固態(tài)硬盤,操作系統(tǒng)為 Proxmox VE 7.4-16,Java 版本為 17.0.7,服務端為 1.15.2 fabric 端,安裝的模組如圖2,除 -Xms8G -Xmx8G 外無其他啟動參數。

下面回答一些可能的問題。
①為什么是 12500 和 5600X ?
答:我只有這兩個門當戶對的CPU,它們都是六核十二線程,也能在大致相近的水平上分別代表大二緩的“intel模式”和大三緩的“AMD模式”。
②為什么是DDR4內存?內存參數有什么講究?
答:我目前沒有使用DDR5內存的打算,尤其是在服務器上。內存參數放得很寬,主要由于紅方使用的內存條年代久遠,無法再收緊了。
③這是什么操作系統(tǒng)?
答:PVE是一個著重于虛擬化的服務器系統(tǒng),使用它是因為后續(xù)要進行虛擬化相關測試,但本次測試還未涉足虛擬化。在這里,你把它當成Debian GNU/Linux就行了。
④為什么是Java17?為什么是1.15.2?為什么裝這些模組?
答:服務于我自己的需求。
二、測試項目
1.????偵測器音符盒

2.??? 漏斗

3.??? 村民
以村民代表實體,在房間邊緣用藤蔓防止計劃外人口損失。

4.??? TNT
用命令方塊循環(huán)填充雪塊、生成TNT爆炸、清除物品實體。

5.??? 活塞

三、測試流程
啟動計算機。
啟動Minecraft服務端。每次啟動均使用完全相同的存檔,而不是上次測試結束后的存檔。
tick warp 12000
player Steve spawn at -855.5 15.0 -839.5 #偵測器音符盒
tick warp 12000 #記錄輸出的mspt
tick warp 12000 #記錄輸出的mspt
tp Steve 1000.0 256.0 1016.0 #漏斗
tick warp 12000 #記錄輸出的mspt
tick warp 12000 #記錄輸出的mspt
tp Steve 1000.0 256.0 -1000.0 #村民
tick warp 12000 #記錄輸出的mspt
tick warp 12000 #記錄輸出的mspt
tp Steve -1009.5 249.0 993.5 #TNT
tick warp 12000 #記錄輸出的mspt
tick warp 12000 #記錄輸出的mspt
tp Steve 1999.5 4.0 18.5 #活塞
tick warp 12000 #記錄輸出的mspt
tick warp 12000 #記錄輸出的mspt
停止Minecraft服務端。
關閉計算機。
上述流程重復了四次。按時間順序,第一、三次是藍方測試,第二、四次是紅方測試。這種測試方式的目的是排除更換平臺導致的偶然因素,同時獲取可以相互驗證的測試結果。
四、測試結果
測試得到的數據如圖8。

除活塞測試外,前四項測試的結果基本可以相互驗證,排除了偶然因素?;钊麥y試的結果比較詭異,但我還是放出數據,由讀者自行判斷。下面只處理前四項的數據。

將所有數據除以藍方平均值得到相對值。

五、總結
圖9和圖10已經很直觀了。
關于活塞測試為什么出現這種異常,我沒有什么頭豬,后續(xù)可能會放棄這一項目。
偵測器音符盒、漏斗、TNT三項中,藍方相對于紅方的優(yōu)勢與理論性能優(yōu)勢基本相符,但在TNT測試中被紅方扳回一局,某些流言中藍方大幅碾壓紅方的情況并沒有出現。
累死了,這點東西我是怎么寫了一晚上的。