IO per Second – IOPS (Input/Output per Second (IOPS))

Thông số IOPS càng cao thì tốc độ xử lý sẽ càng nhanh, số tác vụ được xử lý đồng thời cũng sẽ nhiều hơn. Và tất nhiên dẫn đến hiệu năng xử lý của các ứng dụng càng cao. Nhưng cũng có trường hợp khi IOPS quá cao, đến giới hạn vật lý sẽ gây ra tình trạng thắt cổ chai (IOPS quá cao –> latency cao –> làm giảm throughput).

Đối với IOPS, thứ quan trọng nhất ta cần chú ý đến là tỉ lệ Read và Write (thông thường tỉ lệ này 70% (Read) và 30%(Write) – có thể tuỳ chỉnh được). Ví dụ dưới đây sẽ cho bạn thấy tỉ lệ này khác nhau như thế nào.

Cách tính IOPS và số lượng ổ cứng

* Giả sử hệ thống lưu trữ của bạn sử dụng ổ SAS 15k

Dung lượng mỗi ổ là 900Gb.
Tỉ lệ Read/Write tương ứng: 7:3
Cấu hình RAID 10
IOPS per Disk là 176

* Yêu cầu đặt ra là IOPS thực phải trên 1000

Lúc này, hệ thống của bạn chỉ cần 8 cứng là đủ, số IOPS của hệ thống lúc này là 1200.

RAID Level Capacity IOPS
RAID 10 3,215 GB 1200
RAID 6 4,822 GB 624
RAID 5 5,626 GB 821

Còn nếu chúng ta muốn tỉ lệ Read/Write là 3:7 thì sao? Cùng các điều kiện như trên, với 8 ổ HDD thì số IOPS chỉ là 918, nếu 9 ổ thì IOPS sẽ là 1032, còn 11 ổ thì sẽ là 1262.

Chúng ta cũng có thể thấy là khi cấu hình các RAID level khác nhau, IOPS và capacity thay đổi đáng kể: IOPS cao thì capacity sẽ bị giảm xuống, và ngược lại. Lý do là vì từng RAID level có sự khác biệt về số lượng ổ cứng tối thiểu (Raid Penalty). Vì thế, để setup 1 hệ thống sát với nhu cầu, Sys Admin cần phải xác định rõ ưu tiên hệ thống của mình là gì: Ứng dụng chạy nhanh? Mức độ bảo mật? dung lượng lưu trữ?

Các công thức tính trong bài

Tổng IOPS = IOPS per Disk * Số ổ cứng
IOPS thực = (Tổng IOPS * Write%)/(Raid Penalty) + (Tổng IOPS * Read %)
Số ổ cứng = ((Read IOPS) + (Write IOPS*Raid Penalty))/ IOPS per Disk

Share

You may also like...