ESC

開始輸入,可搜尋發票、服務、域名、工單,以及 更多...

搜尋... Ctrl+K
Linux 伺服器

伺服器效能測試教程2026:bench.sh、YABS、fio 結果解讀

6 個步驟 8 分鐘閱讀 34 次閱讀 0
本文目錄

拿到一台新的 VPS 或獨立伺服器後,先做一次基準測試,可以確認 CPU、記憶體、磁碟和網路是否與預期一致,也能為日後排查效能問題留下對照資料。本文介紹四個最常用的測試工具,並重點講解結果中每個數字代表什麼、怎樣判斷好壞。

要點速覽

  • bench.sh 適合對新伺服器做快速體檢,幾分鐘內即可輸出系統資訊、簡單磁碟寫入測試和多節點下載測速。
  • YABS 結合 fio 磁碟測試、iperf3 網路測試和 Geekbench CPU 跑分,是社群對比伺服器效能最常用的標準。
  • 在 fio 結果中,4k 塊大小的 IOPS 反映資料庫和小檔案讀寫能力,1m 塊大小的吞吐量反映大檔案順序讀寫能力。
  • Geekbench 5 和 Geekbench 6 的評分基準不同,因此 Geekbench 分數只能在同一版本內比較。
  • IMIDC 提供多地區 VPS 與獨立伺服器,使用者可在交付後用 bench.sh、YABS 和 fio 自行驗證配置,結果與預期差距較大時可提交 7x24 工單。

適用環境 / 準備工作

  • 系統:Ubuntu 22.04 / 24.04、Debian 12、Rocky Linux 9、AlmaLinux 9
  • 已通過 SSH 以 root 或 sudo 使用者登入
  • 磁碟剩餘空間建議不少於 4 GB(fio 和 YABS 會生成測試檔案)
  • 安裝基礎工具:
# Ubuntu / Debian
sudo apt update && sudo apt install -y curl wget fio
# Rocky / Alma 9
sudo dnf install -y curl wget fio

注意:測試指令碼來自第三方開源專案,執行前可以先下載到本地用 less 檢視內容。基準測試會短時間佔滿 CPU、磁碟和頻寬,請避免在業務高峰期對生產伺服器執行,也不要長時間反覆跑。

操作步驟

步驟 1:bench.sh 快速體檢

bench.sh 由開源作者 Teddysun 維護,幾分鐘內即可輸出系統資訊、簡單磁碟寫入測試和多節點下載測速:

wget -qO- bench.sh | bash
# 或
curl -Lso- bench.sh | bash

結果解讀:

  • CPU Model / Cores / Frequency:CPU 型號、分配到的核心數和主頻,確認與購買配置一致。
  • AES-NI / VM-x/AMD-V:AES-NI 為 Enabled 時,HTTPS、VPN 等加密場景效能更好;虛擬化指令是否透傳決定能否在 VPS 內再巢狀虛擬化。
  • Virtualization:顯示 KVM、Dedicated(獨立伺服器)等,幫你確認虛擬化類型。
  • I/O Speed:用 dd 順序寫入 1GB 的結果,只能粗略反映順序寫速度,SSD/NVMe 通常在數百 MB/s 到數 GB/s。
  • Speedtest 列表:到各測速節點的上傳、下載和延遲。海外伺服器到國內節點的成績受線路影響很大,更應關注延遲穩定性而非單次峰值。

步驟 2:YABS 全面測試

YABS(Yet-Another-Bench-Script)包含 fio 磁碟測試、iperf3 網路測試和 Geekbench CPU 跑分,是社群對比伺服器效能最常用的標準:

curl -sL https://yabs.sh | bash

常用引數:

# 跳過 iperf3 網路測試
curl -sL https://yabs.sh | bash -s -- -i
# 跳過 Geekbench,只測磁碟和網路
curl -sL https://yabs.sh | bash -s -- -g
# 僅跑 Geekbench 6(跳過磁碟與網路)
curl -sL https://yabs.sh | bash -s -- -f -i

fio 部分: YABS 會用 4k、64k、512k、1m 四種塊大小做混合隨機讀寫。

  • 4k 一欄看 IOPS:代表資料庫、小檔案讀寫能力。普通 SATA SSD 的 VPS 常見幾千到幾萬 IOPS,NVMe 可達數萬到數十萬。
  • 1m 一欄看吞吐(MB/s 或 GB/s):代表大檔案順序讀寫能力,例如備份、影片檔案。

iperf3 部分: 顯示到全球多個公共 iperf 節點的傳送(Send)與接收(Recv)速度。公共節點經常繁忙,個別節點數值偏低屬正常,看整體趨勢即可。

Geekbench 部分: 給出單核(Single Core)與多核(Multi Core)分數,並附帶一個線上結果連結,可以與其他伺服器直接對比。單核分數影響 PHP、Node.js 等單執行緒應用的響應速度;多核分數影響編譯、轉碼和併發處理。

步驟 3:單獨使用 fio 精準測試磁碟

想測試特定場景時,直接用 fio 更可控。下面測試 4K 隨機讀寫(模擬資料庫負載):

fio --name=rand4k --filename=/root/fio.test --size=1G \
    --direct=1 --ioengine=libaio --rw=randrw --rwmixread=70 \
    --bs=4k --iodepth=64 --numjobs=2 --runtime=60 --time_based \
    --group_reporting

測試 1M 順序讀:

fio --name=seq1m --filename=/root/fio.test --size=1G \
    --direct=1 --ioengine=libaio --rw=read \
    --bs=1M --iodepth=16 --numjobs=1 --runtime=30 --time_based \
    --group_reporting

測試結束後刪除測試檔案:

rm -f /root/fio.test

重點關注:

  • IOPS=:每秒讀寫次數,越高越好。
  • BW=:頻寬吞吐量。
  • clat 延遲中的平均值和 99.00th 百分位:延遲越低越穩定,若 99% 延遲遠高於平均值,說明磁碟存在抖動。

--direct=1 可繞過系統快取,避免記憶體快取導致結果虛高。

步驟 4:記錄並儲存結果

建議把輸出儲存下來,方便日後對比:

curl -sL https://yabs.sh | bash 2>&1 | tee ~/yabs-$(date +%F).txt

常見問題 FAQ

bench.sh 的 I/O 速度很高,為什麼網站還是慢?

dd 順序寫只代表大檔案寫入能力,網站和資料庫更依賴 4K 隨機讀寫與延遲。此外,網站速度還受線路、程式和快取配置影響,應結合 fio 4K 結果和網路測試綜合判斷。

測出的下載速度低於購買的頻寬?

公共測速節點可能擁堵,跨國測速還受對端網路限制。建議換幾個時段、多個節點測試,或在本地電腦用 iperf3 直接對測。如果持續明顯偏低,可提交工單並附上測試結果和 MTR 路由。

VPS 每次跑分結果都不一樣正常嗎?

正常。虛擬化環境中 CPU 和磁碟由多個例項共享,存在一定波動。只要多次結果處於相近區間即可;如果某次大幅下降,可以過段時間複測。

Geekbench 分數在不同版本間能對比嗎?

不能。Geekbench 5 和 Geekbench 6 的評分基準不同,只能在同一版本內比較。YABS 當前預設使用 Geekbench 6。

總結

bench.sh 適合快速體檢,YABS 適合全面橫向對比,fio 適合針對性測試磁碟,三者結合就能清楚掌握一台伺服器的真實效能。IMIDC 提供多地區 VPS 與獨立伺服器,交付後你可以用本文方法自行驗證配置;如果測試結果與預期差距較大,歡迎通過客戶中心提交 7x24 工單,附上測試輸出,技術團隊會協助排查。

相關產品

相關閱讀

這篇文章有幫助嗎?

相關教程