646
次編輯
Chunghwamc(留言 | 貢獻) 無編輯摘要 |
|||
行 1: | 行 1: | ||
為了分析不 | 為了分析不 同 CPU 對於原 版 Minecraft 伺服器(vanilla server)的效能差距而做出來 的 Minecraft 伺服器 效 能測試標準 。測試項目偏向於紅石機關對於 CPU 的壓力測試,大致上能分為: CPU 極限 TPS、紅石、漏斗、飛行器、實體擠壓、AI尋路。 | ||
測試項目 | == 測試項目 == | ||
=== '''極 限 TPS 測試''' === | |||
主要測 試 CPU 在伺服器空載的情況下能跑到的最 高 TPS 數值,可以體現出 該 CPU 的大致效能。 | |||
=== '''極 | |||
主要測 | |||
=== 紅石測試 === | === 紅石測試 === | ||
主要測 | 主要測 試 CPU 的單核效率。 | ||
=== 漏斗測試 === | === 漏斗測試 === | ||
行 20: | 行 16: | ||
=== 飛行器測試 === | === 飛行器測試 === | ||
[[檔案:World Eater.png|縮圖|150x150像素|World Eater]] | [[檔案:World Eater.png|縮圖|150x150像素|World Eater]] | ||
主要測試機器 | 主要測試機器 以 World Eater、超大型挖礦機,以大量方塊被活塞推動造成的方塊更新與光照更新下,對伺服器壓力極高的機器做測試。 | ||
=== 實體擠壓測試 === | === 實體擠壓測試 === | ||
[[檔案:1k blaze.png|縮圖|150x150像素|一千隻烈焰神]] | [[檔案:1k blaze.png|縮圖|150x150像素|一千隻烈焰神]] | ||
主要測試大量實體在單一地點互相擠壓,考驗 | 主要測試大量實體在單一地點互相擠壓,考驗 對 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> | ||
=== 安裝 | === 安裝 於伺服器 的監測模組 === | ||
* [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 | ||
* 難度和平(實體擠壓測試除外) | * 難度和平(實體擠壓測試除外) | ||
* 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隻烈焰 | * 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 方式紀錄。 |