, Latency và Throughput là ba khái niệm mà bất cứ Sys Admin nào cũng cần quan tâm, khi bắt đầu xây dựng hệ thống và cho những ai muốn cải thiện tốc độ truy xuất.

Có nhiều bài viết mô tả sự liên quan của 3 khái niệm này trong hoạt động ship hàng từ điểm A đến B như sau:

– IOPS: Số lượng chuyến đi thưc hiện trong một khoảng thời gian

– Throughput: Số hàng chuyển được trong một khoảng thời gian

– Latency: Độ trễ trung bình trong tất cả các chuyến đi trong một khoảng thời gian đã thực hiện

Ba tham số này, đặc biệt là hai tham số IOPS và latency phản ánh chất lượng phục vụ nhưng ko phải lúc nào cũng song hành với nhau kiểu một chỉ số tốt thì các chỉ số còn lại cũng tốt theo. Có thể một ngày có nhiều chuyến hàng nhưng có những chuyến hàng chuyển nhanh, có chuyến hàng chuyển chậm, IOPS cao nhưng latency trung bình cũng lại cao. Có thể một ngày có ít chuyến hàng nhưng mỗi chuyến lại chở full tải thì throughput lại cao dù IOPS thấp vì Throughput = IOPS * IO Average size (IO average size cao thì throughput cao). Có thể latency trung bình thấp nhưng số hàng chuyển cũng không vì thế mà cao được do ít đơn hàng (application ít request vào storage).

1. IOPS

IOPS – Input/Output per Second là đơn vị đo lường được sử dụng cho các thiết bị lưu trữ như , hoặc SAN – cho biết số lượng tác vụ Write hoặc Read được hoàn thành trong 1 giây. Số IOPS được publish bởi các nhà sản xuất thiết bị, và không liên quan gì đến các ứng dụng đo lường hiệu năng cả, tuỳ theo cảm tính mà các Sys Admin có thể dùng các ứng dụng đo lường khác nhau (như IOmeter, DiskSpd..).

Vai trò của IOPS đối với Cloud

Nói một cách dễ hiểu, thông số IOPS càng cao thì tốc độ xử lý càng nhanh, số tác vụ được xử lý sẽ nhiều hơn, và tất nhiên, hiệu năng của ứng dụng trên Cloud Server sẽ cao hơn. Tuy nhiên, có trường hợp 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 –> giảm throughput).

Đối với IOPS, thứ quan trọng nhất cần được chú ý đến là tỉ lệ Read và Write (thông thường tỉ lệ này là 70% (read) và 30 (Write) – có thể tùy chỉnh được).

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 10

IOPS per 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ế, để 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 độ ? dung lượng lưu trữ?

Bảng yêu cầu RAID Penalty – là số lượng ổ cứng tối thiểu tương ứng với mỗi RAID level

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

Bảng IOPS tương ứng với từng loại ổ cứng.

Còn IOPS trên SSD thì sao? Nếu bạn đã muốn sử dụng SSD enterprise, thì IOPS lúc này cao vượt hơn mong đợi. Tuỳ theo model SSD mà có thể lên hàng ngàn ( X25-E ~ 8600 IOPS) hoặc chục ngàn (OCZ Vertex 4 ~ 120,000 IOPS) hoặc thậm chí là hàng triệu nếu dùng ổ NVMe.

Tham khảo: NTCloud, Techtalk, ViettelIDC

Print Friendly, PDF & Email

Comments

comments

Bài viết liên quan