Benchmark VPS: sysbench, yabs, fio, tin cái nào và đọc sao?

Chia sẻ bài viết

Mục lục
Benchmark VPS: sysbench, yabs, fio, tin cái nào và đọc sao?

Trả lời nhanh: Ba công cụ, ba vai: yabs.sh, 'khám tổng quát' một lệnh: CPU (Geekbench), ổ (fio rút gọn), mạng (iperf các hướng), cái nhìn đầu tiên tiện nhất; sysbench, soi CPU chuyên: một luồng (độ trễ request) và đa luồng (thông lượng); fio, soi ổ chuyên: IOPS, latency percentile, fsync. Quy trình nghiệm thu máy mới 15 phút: yabs một phát lấy toàn cảnh → sysbench 1-thread → bộ fio 4 bài → chạy lại lúc 21h → lưu thành hồ sơ. Nguyên tắc vàng: benchmark là để so sánh và phát hiện bất thường, không phải để sưu tầm số đẹp.

Cụm bài này đã dùng lẻ tẻ đủ ba công cụ, bài tổng kết này xếp chúng thành một quy trình: nghiệm thu máy mới trong 15 phút, mỗi công cụ đúng vai, kèm danh sách các kết luận sai kinh điển mà người mới cầm benchmark hay mắc. Đây là bài 'đóng nắp hộp đồ nghề' của chuỗi đo đạc.

Tóm tắt nhanh
  • yabs: một lệnh curl, 5-10 phút, toàn cảnh CPU + ổ + mạng, điểm khởi đầu chuẩn
  • sysbench: chuyên CPU, 1 luồng đo độ trễ tiềm năng, N luồng đo thông lượng
  • fio: chuyên ổ, bộ 4 bài (bài riêng đã có) cho IOPS, p99, fsync
  • Quy trình 15 phút + chạy lại giờ vàng + lưu hồ sơ = nghiệm thu bằng số, khiếu nại có bằng chứng

yabs.sh: cái nhìn đầu tiên - và giới hạn của nó

curl -sL https://yabs.sh | bash
# tuy chon: -i bo iperf (nhanh hon), -g bo Geekbench

Một lệnh ra ba khối: đĩa (fio 4 cỡ khối), mạng (iperf tới nhiều điểm thế giới), CPU (Geekbench). Mạnh: nhanh, chuẩn hóa, cộng đồng quen đọc, tiện so chéo với kết quả người khác đăng. Giới hạn cần nhớ: fio của yabs chạy ngắn (dễ ăn cache SLC, bài enterprise đã cảnh báo), Geekbench đôi khi thiếu RAM trên gói nhỏ, và iperf quốc tế dao động theo giờ cáp. Vai đúng của yabs: bản đồ tổng để biết đào sâu chỗ nào, không phải phán quyết cuối.

sysbench và fio: hai mũi khoan chuyên

sysbench cpu: --threads=1 cho sức đơn luồng (thang đọc ở bài single-thread), --threads=$(nproc) cho thông lượng; tỷ số N-luồng/1-luồng ≈ số nhân hiệu dụng, tỷ số thấp bất thường là HT/oversell ăn vào. fio: bộ 4 bài chuẩn (random read/write, latency percentile, fsync) đã có nguyên một bài, dùng nguyên xi. Điểm ghép: yabs bảo 'đĩa có vẻ ổn' → fio xác nhận bằng p99 và fsync; yabs bảo 'CPU điểm X' → sysbench 21h kiểm tra điểm đó có giữ được lúc đông.

Quy trình nghiệm thu 15 phút - dán là chạy

# ngay nhan may (gio hanh chinh):
curl -sL https://yabs.sh | bash          # 1) toan canh
sysbench cpu --threads=1 --time=15 run | grep 'events per second'   # 2) CPU don luong
# 3) bo fio 4 bai (bai fio co san khoi lenh)
# toi 21h cung ngay: chay lai (2) va bai fio so 1+3
# luu ca hai ban vao ghi chu, ho so suc khoe may

Hai mốc thời gian là phần đáng giá nhất: máy tử tế cho hai bản gần trùng nhau; máy oversell lộ nguyên hình ở bản 21h. Hồ sơ này dùng ba việc như bài fio đã nói: so khi nghi máy xuống cấp, làm bằng chứng khiếu nại, làm chuẩn nghiệm thu nhà mới.

Những kết luận sai kinh điển - né trước khi phát ngôn

  • 'Máy A Geekbench cao hơn nên web sẽ nhanh hơn': nếu web bạn nghẽn ổ/database thì CPU cao chẳng cứu, đối chiếu đủ ba khối trước khi kết luận.
  • 'IOPS thấp hơn quảng cáo, nhà cung cấp lừa': gói VPS thường có trần IOPS công bằng theo giá, trần phẳng ổn định là đúng cam kết; đọc kỹ gói trước khi nổi giận.
  • 'Đo một lần lúc trưa, kết luận cả đời': mọi con số một-thời-điểm chỉ là một mẫu, nghi thức 21h tồn tại vì lý do đó.
  • 'Số của tôi thấp hơn số trên mạng': khác phiên bản công cụ, khác cỡ gói, khác giờ đo, chỉ so được khi cùng điều kiện; số của chính bạn qua thời gian mới là chuỗi so sánh đáng tin nhất.
  • 'Benchmark cao = trải nghiệm tốt': gần đúng, nhưng trải nghiệm còn vị trí đặt máy (bài VPS Việt Nam) và kiến trúc app (cả cụm tối ưu). Benchmark là điều kiện cần, không phải giấy bảo hành hạnh phúc.

Ba công cụ, ba việc khác nhau

Công cụĐo gìTin được tới đâu
Bộ đo tổng hợp chạy một lệnhCái nhìn đầu tiên: vi xử lý, ổ đĩa, mạngTốt để loại nhanh máy tệ; không đủ để nghiệm thu
Công cụ đo vi xử lýĐiểm một luồng và nhiều luồngĐáng tin, và là con số sát trải nghiệm web nhất
Công cụ đo ổ đĩaIOPS, độ trễ, băng thông theo từng mẫu truy cậpĐáng tin nhất, nhưng phải đặt tham số đúng

Bộ đo tổng hợp có ích ở chỗ nhanh và cho một bức tranh chung, nhưng nó chạy ngắn và dùng tham số cố định, nên không phát hiện được các ổ chạy nhanh lúc đầu rồi tụt. Dùng nó để sàng lọc, không dùng nó để kết luận.

Quy trình nghiệm thu 15 phút

apt install -y sysbench fio sysstat

# 1. Vi xu ly, mot luong: con so quyet dinh toc do web
sysbench cpu --cpu-max-prime=20000 --threads=1 run

# 2. Vi xu ly, nhieu luong
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run

# 3. O dia, mau ngau nhien, chay 5 phut chu khong phai 30 giay
fio --name=t --ioengine=libaio --direct=1 --bs=4k --rw=randrw --rwmixread=70 \
    --iodepth=32 --numjobs=4 --size=4G --runtime=300 --time_based \
    --group_reporting --percentile_list=50:95:99 --status-interval=60

# 4. Steal time, chay song song trong luc do o dia
vmstat 2 150

# 5. Mang trong nuoc
ping -c 30 vnexpress.net && mtr -rwc 30 vnexpress.net

# Luu toan bo ket qua lai, chay lai sau 3 thang de so

Bốn kết luận sai kinh điển

  • Kết luận từ một lần chạy. Chạy ba lần, lấy trung vị, và đo cả vào giờ cao điểm buổi tối.
  • So sánh máy A đo lúc 9 giờ sáng với máy B đo lúc 9 giờ tối. Cùng khung giờ mới so được.
  • Nhìn băng thông tuần tự rồi kết luận ổ nhanh. Với web và cơ sở dữ liệu, con số đó gần như không liên quan.
  • Bỏ qua steal time. Máy đo ra số đẹp mà steal time 15% nghĩa là vào giờ cao điểm bạn không nhận được những gì vừa đo.

Bộ lệnh chi tiết cho từng công cụ nằm ở bài về cách đo ổ đĩa đúng cách.

Câu hỏi thường gặp

Chạy benchmark có bị nhà cung cấp phạt không?

Đo đạc vài phút là quyền nghiệm thu bình thường, nhà tử tế còn khuyến khích. Khác với chạy stress liên tục nhiều giờ chiếm tài nguyên chung, cái đó đọc điều khoản trước.

Nên benchmark định kỳ hay chỉ lúc nhận máy?

Nhận máy (hồ sơ gốc) + khi có cảm giác bất thường + sau mỗi thay đổi lớn (nâng gói, đổi node). Định kỳ hàng tuần là thừa, giám sát liên tục (Netdata/Kuma) mới là công cụ theo dõi thường trực.

Máy production đang chạy có đo được không?

Được với bài nhẹ (sysbench 15s, fio đọc) vào giờ thấp điểm; bài ghi nặng nên tránh hoặc chấp nhận vài phút ì. Chuẩn nhất: đo kỹ lúc nhận máy trước khi lên production.

Điểm nào là 'đạt' để chốt thuê?

Không có điểm tuyệt đối, có bộ tiêu chí: đúng hạng cam kết (NVMe ra số NVMe, xung cao ra số xung cao), ổn định giữa hai mốc giờ, và p99/fsync trong ngưỡng bài fio nêu. Đạt ba tiêu chí là nền tin cậy được.

Hạ tầng NVMe Enterprise của TND
VPS ổ Enterprise U.2 NVMe, CPU xung cao, đặt tại Việt Nam
Toàn bộ quy trình 15 phút của bài là nghi thức chào sân TND mong bạn thực hiện: Xeon Platinum xung cao giữ điểm sysbench phẳng qua 21h, Enterprise U.2 NVMe RAID 10 cho fio ra đúng hạng cam kết. Hạ tầng dám mời đo là hạ tầng không cần quảng cáo hộ, bàn giao 5 phút, hồ sơ sức khỏe máy nằm trong tay bạn từ ngày đầu.
Xem bảng giá VPS NVMe Xeon Platinum

Bài viết liên quan