「Minecraft伺服器效能測試標準表」:修訂間差異

增加 107 位元組 、​ 2024年8月31日 (星期六)
無編輯摘要
無編輯摘要
 
行 1: 行 1:
 為了分析不 同CPU 對於原 版Minecraft 伺服器 (vanilla server)的效能差距而做出來 的MINECRAFT 伺服器能 測試標準
 為了分析不 同 CPU  對於原 版 Minecraft  伺服器(vanilla server)的效能差距而做出來 的 Minecraft  伺服器 能測試標準 。測試項目偏向於紅石機關對於 CPU 的壓力測試,大致上能分為: CPU 極限 TPS、紅石、漏斗、飛行器、實體擠壓、AI尋路。


 測試項目 偏向于紅石機關對於CPU的壓力測試
== 測試項目 ==


主要測試分為CPU極限TPS、紅石、漏斗、飛行器、實體擠壓、AI尋路。
=== '''極 限 TPS  測試''' ===
 
 主要測 試 CPU  在伺服器空載的情況下能跑到的最 高 TPS  數值,可以體現出 該 CPU  的大致效能。
== 測試條目解釋 ==
 
=== '''極 限TPS 測試''' ===
 主要測 試CPU 在伺服器 空載的情況下能跑到的最 高TPS 數值,可以體現出 該CPU 的大致效能。


=== 紅石測試 ===
=== 紅石測試 ===
 主要測 試CPU 的單核效率。
 主要測 試 CPU  的單核效率。


=== 漏斗測試 ===
=== 漏斗測試 ===
行 20: 行 16:
=== 飛行器測試 ===
=== 飛行器測試 ===
[[檔案:World Eater.png|縮圖|150x150像素|World Eater]]
[[檔案:World Eater.png|縮圖|150x150像素|World Eater]]
 主要測試機器 以World Eater 超大型挖礦機,以大量方塊被活塞推動造成的方塊更新與光照更新下,對伺服器壓力極高的機器做測試。
 主要測試機器 以 World Eater、超大型挖礦機,以大量方塊被活塞推動造成的方塊更新與光照更新下,對伺服器壓力極高的機器做測試。




=== 實體擠壓測試 ===
=== 實體擠壓測試 ===
[[檔案:1k blaze.png|縮圖|150x150像素|一千隻烈焰神]]
[[檔案:1k blaze.png|縮圖|150x150像素|一千隻烈焰神]]
 主要測試大量實體在單一地點互相擠壓,考驗 對CPU 的浮點計算能力。
 主要測試大量實體在單一地點互相擠壓,考驗 對 CPU (FPU) 的浮點計算能力。






=== AI尋路 ===
=== AI 尋路 ===
[[檔案:1k balze AI test.png|縮圖|150x150像素|一千隻烈焰神AI測試]]
[[檔案:1k balze AI test.png|縮圖|150x150像素|一千隻烈焰神AI測試]]
Minecraft的生物尋路所使用的演算法是採用[https://zh.wikipedia.org/zh-tw/A*%E6%90%9C%E5%B0%8B%E6%BC%94%E7%AE%97%E6%B3%95 A-star algorithm],因此可以測試大量生物在遊走時,CPU的多核計算、分支預測、記憶體存取的大致能力。
Minecraft 的生物尋路所使用的演算法是採用 [https://zh.wikipedia.org/zh-tw/A*%E6%90%9C%E5%B0%8B%E6%BC%94%E7%AE%97%E6%B3%95 A-star algorithm],因此可以測試大量生物在遊走時,CPU 的多核計算、分支預測、記憶體存取的大致能力。




行 37: 行 33:


=== 電腦測試環境 ===
=== 電腦測試環境 ===
* <s> 液態氮冷卻 如果有人斗內</s>
* <s>如果有人 斗內 的話,理想是液態氮冷卻器。</s>


=== 安裝 於server端 的監測模組 ===
=== 安裝 於伺服器 的監測模組 ===
* [https://fabricmc.net/ Fabric Loader]
* [https://fabricmc.net/ Fabric Loader]
* [https://www.curseforge.com/minecraft/mc-mods/carpet Carpet Mods]
* [https://www.curseforge.com/minecraft/mc-mods/carpet Carpet Mods]


=== 伺服器設定 ===
=== 伺服器設定 ===
* 視野距 離16
* 視野距 離 16
* 難度和平(實體擠壓測試除外)
* 難度和平(實體擠壓測試除外)
* gamerule doDaylightCycle false
* gamerule doDaylightCycle false
=== [[Carpet Mods]] 開啟指令 ===
=== [[Carpet Mods]] 開啟指令 ===
* /log tps,mobcaps,memory
* /log tps,mobcaps,memory
行 60: 行 53:
* [https://space.bilibili.com/10125241?spm_id_from=333.337.search-card.all.click World Eater 無溝版 by火弦月]
* [https://space.bilibili.com/10125241?spm_id_from=333.337.search-card.all.click World Eater 無溝版 by火弦月]
* 主世界挖礦機 [https://www.youtube.com/watch?v=itvjgzhgcug Vertical Duper Quarry V2 by Desu Desu]
* 主世界挖礦機 [https://www.youtube.com/watch?v=itvjgzhgcug Vertical Duper Quarry V2 by Desu Desu]
* 10000個漏斗
* 10000 個漏斗
* 1000隻烈焰神實體擠壓
* 1000 隻烈焰神實體擠壓
* 1000隻烈焰 神AI 巡路
* 1000 隻烈焰 神 AI  巡路


== 紀錄方式 ==
== 紀錄方式 ==
主要紀錄方式以/Profile方式連續5次紀錄Average tick time 也就是mspt。
測試項目World Eater會以整台機器啟動後過10秒鐘,以/Profile方式紀錄。
測試項目 Vertical Duper Quarry會分成兩階段紀錄,第一階段將方塊拉出階段後10秒開始紀錄,第二階段TNT開始爆炸後10秒開始紀錄,以/Profile方式紀錄。
測試項目漏斗測試,測試上鎖與解鎖狀態平均mspt。
測試項目1000隻烈焰神實體擠壓,會將gamerule maxEntityCramming 設置成0,避免擠壓死亡,且將烈焰神限制在1*2格的玻璃罩中,以/Profile方式紀錄。


 測試項 目1000 隻烈焰 神AI 尋路,將烈焰神限制 在2*2區塊中且使用打開的地板門作為牆面阻隔,且在牆外格 多1 區塊提供給烈焰神尋路,以/Profile方式紀錄。
# 主要紀錄方式以 /Profile 方式連續 5 次紀錄 Average tick time 也就是 mspt。
# 測試項 目 World Eater 會以整台機器啟動後過 10 秒鐘,以 /Profile 方式紀錄。
# 測試項目 Vertical Duper Quarry 會分成兩階段紀錄,第一階段將方塊拉出階段後 10 秒開始紀錄,第二階段 TNT 開始爆炸後 10 秒開始紀錄,以 /Profile 方式紀錄。
# 測試項目漏斗測試,測試上鎖與解鎖狀態平均 mspt。
# 測試項目 1000 隻烈焰神實體擠壓,會將 gamerule maxEntityCramming 設定成 0,避免擠壓死亡,且將烈焰神限制在 1 * 2 格的玻璃罩中,以 /Profile 方式紀錄。
# 測試項目 1000  隻烈焰 神 AI  尋路,將烈焰神限制 在 2 * 2 區塊中且使用打開的地板門作為牆面阻隔,且在牆外格 多 1  區塊提供給烈焰神尋路,以 /Profile 方式紀錄。