Kiểm tra hiệu suất IOPS
Tổng quan
Để kiểm tra hiệu suất IOPS (Input/Output Operations Per Second) trên một Volume, bạn có thể sử dụng công cụ fio.

Các bước thực hiện
Kiểm tra hiệu suất đồng thời random read & random write
Tạo một server với ổ đĩa Volume loại NVME với IOPS 5000 tại trang chủ vServer:

Kết nối vào Server của bạn. Để biết thêm thông tin hãy xem hướng dẫn Kết nối vào máy chủ ảo.
Chạy lệnh sau để cài đặt FIO:
Ubuntu/Debian:
CentOS/RHEL:
Tạo 1 file 4GB, sau đó chạy câu lệnh bên dưới để thực hiện việc read/write đồng thời với blocksize 4KB theo tỉ lệ 75% – 25% (tức 3 read/1 write) và thực hiện đồng thời 64 tác vụ một lúc (Tỉ lệ 3:1 rất phổ biến và xấp xỉ với các dạng database hiện nay):
Với chỉ 1 job chạy, bạn có thể dùng lệnh:
Với 8 jobs chạy đồng thời, bạn có thể sử dụng:
Ngoài ra, bạn có thể thay đổi một vài thông số theo điều kiện mô tả bên dưới:
--randrepeat=1:Sử dụng cùng một seed ngẫu nhiên cho các bài kiểm tra.--ioengine=libaio:Chỉ định I/O Engine, libaio (Linux asynchronous I/O) là một phương thức I/O không đồng bộ, phù hợp cho các bài kiểm tra hiệu suất I/O trên Linux.--direct=1: Bỏqua bộ đệm của hệ điều hành (OS cache) khi thực hiện I/O.--gtod_reduce=1:Giảm độ chính xác của timestamp (giảm số lần gọigettimeofday), giúp giảm tác động đến hiệu suất và cải thiện tính chính xác của bài kiểm tra.--name=TGS:Tên bài kiểm tra--filename=TGS:Tên file kiểm tra--iodepth=64:Độ sâu hàng đợi (queue depth) là 64, tức là tối đa 64 yêu cầu I/O có thể chờ xử lý cùng lúc.--rwmixread=75:Tỷ lệ giữa đọc và ghi là 75:25.--readwrite=randrw: Thực hiện đọc/ghi ngẫu nhiên.--size=4G: Tổng kích thước dữ liệu cần kiểm tra.--bs=blocksize=4k: Kích thước block (4KB là phổ biến để kiểm tra IOPS).--numjobs=8: Số lượng job chạy đồng thời.
Dưới đây là kết quả ghi nhận được (với cấu hình 4 core 8 GB)
Khi bạn thiết lập numjob = 1:
Khi bạn thiết lập numjob = 8:
Kiểm tra hiệu suất random read
Thực hiện các bước 1,2,3 tương tự trường hợp Kiểm tra hiệu suất đồng thời random read và random write.
Tạo 1 file 4GB, sau đó chạy câu lệnh bên dưới để chỉ thực hiện việc read với blocksize 4KB theo tỉ lệ 100% (tức toàn bộ chỉ read) và thực hiện đồng thời 64 tác vụ một lúc:
Với chỉ 1 job chạy, bạn có thể dùng lệnh:
Với 8 jobs chạy đồng thời, bạn có thể sử dụng:
Dưới đây là kết quả ghi nhận được:
Khi bạn thiết lập numjob = 1:
Khi bạn thiết lập numjob = 8:
Kiểm tra hiệu suất random write
Thực hiện các bước 1,2,3 tương tự trường hợp Kiểm tra hiệu suất đồng thời random read và random write. (Để tăng độ đa dạng, trong ví dụ này, tôi sẽ tăng IOPS của Volume này lên 10000 thay vì 5000, các cấu hình còn lại tôi giữ nguyên).
Tạo 1 file 4GB, sau đó chạy câu lệnh bên dưới để chỉ thực hiện việc write với blocksize 4KB theo tỉ lệ 100% (tức toàn bộ chỉ write) và thực hiện đồng thời 64 tác vụ một lúc:
Với chỉ 1 job chạy, bạn có thể dùng lệnh:
Với 8 jobs chạy đồng thời, bạn có thể sử dụng:
Dưới đây là kết quả ghi nhận được:
Khi bạn thiết lập numjob = 1:
Khi bạn thiết lập numjob = 8:
Giám sát hiệu suất ổ đĩa bằng vMonitor Platform
Hiện tại, hệ thống vServer và vMonitor Platform đã tích hợp sẵn Dashboard giúp bạn quản lý các thông só của server của bạn (bao gồm cả thông số IOPS). Cụ thể, bạn có thể thực hiện theo các bước:
Truy cập vào vMonitor Platform theo link: https://vmonitor.console.vngcloud.vn/
Chọn mục Dashboard, sau đó chọn All VNG Cloud
Tiếp tục tìm và chọn vào Dashboard chứa tên server của bạn, tên Dashboard này sẽ có định dạng:
vServer-tên-server-xxxx

Tại màn hình chi tiết Dashboard, bạn có thể thấy biểu đồ thể hiện thông số IOPS tại biểu đồ bên dưới:

Kết quả thử nghiệm kiểm tra hiệu suất ổ đĩa VNG Cloud
64
SSD
3000
PASS
PASS
PASS
64
SSD
3200
PASS
PASS
PASS
64
SSD
6400
PASS
PASS
PASS
64
SSD
10000
PASS
PASS
PASS
64
SSD
iops-vng
Shared IOPS with other customer
Shared IOPS with other customer
Shared IOPS with other customer
64
NVME
5000
PASS
PASS
PASS
64
NVME
10000
PASS
PASS
PASS
64
NVME
20000
PASS
PASS
PASS
64
NVME
40000
PASS
PASS
PASS
64
NVME
60000
PASS
PASS
PASS
Last updated
