Tìm hiểu về các thông số: IOPS, Latency và Throughput
27/06/2018Cùng Viettel IDC tìm hiểu về các thông số: IOPS, Latency và Throughput trong hệ thống Storage/Cloud Server/Private Cloud.
IOPS, 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 Storage và cho những ai muốn cải thiện tốc độ Cloud Server/Private Cloud.

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 operation per Second là đơn vị đo lường được sử dụng cho các thiết bị lưu trữ như HDD, SSD 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 Server
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 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ữ?
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ời vợi. Tuỳ theo model SSD mà có thể lên hàng ngàn (Intel 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!!
(Còn tiếp)
Tham khảo: NTCloud, Techtalk
Tin nổi bật
Tin liên quan
VDS là gì? VDS khác VPS và Dedicated Server như thế nào?
VDS là gì, khác VPS và Dedicated Server ở điểm nào, ưu nhược điểm và trường hợp nên sử dụng.
Cách triển khai observability cho ứng dụng đám mây và microservices như thế nào
Hướng dẫn triển khai observability cho ứng dụng đám mây và microservices qua 7 bước, từ xác định SLI/SLO đến tối ưu chi phí telemetry.
Top nhà cung cấp dịch vụ Dedicated Server giá tốt, tốc độ ổn định tại Việt Nam
Tổng hợp các nhà cung cấp Dedicated Server tại Việt Nam, so sánh mô hình dịch vụ, cấu hình, Data Center, uptime, băng thông và giá công bố.
Top nhà cung cấp dịch vụ Hosting và VPS uy tín tại Việt Nam
Top nhà cung cấp Hosting và VPS uy tín tại Việt Nam. So sánh hạ tầng, uptime, loại dịch vụ và các tiêu chí cần kiểm tra trước khi lựa chọn.
Thuê Cloud GPU có đắt không?
Thuê Cloud GPU có đắt không phụ thuộc vào yếu tố nào? Phân tích các mô hình tính phí, chi phí ẩn và cách tối ưu ngân sách khi dùng GPU đám mây.
Top nhà cung cấp dịch vụ Cloud GPU tại Việt Nam
Tổng hợp các nhà cung cấp Cloud GPU tại Việt Nam. So sánh GPU hỗ trợ, mô hình dịch vụ, hạ tầng và các tiêu chí doanh nghiệp cần cân nhắc.
Syslog là gì? Cách hoạt động, thành phần và cách triển khai
Syslog là gì? Tìm hiểu cách giao thức này giúp doanh nghiệp quản lý log tập trung, giám sát hệ thống và hỗ trợ phát hiện, xử lý sự cố kịp thời.
Observability là gì? Vai trò, thành phần và cách triển khai hiệu quả
Observability là gì? Tìm hiểu cách doanh nghiệp theo dõi hệ thống, phát hiện nguyên nhân sự cố và cải thiện hiệu suất ứng dụng hiệu quả.
VPS nào phù hợp cho mục đích lưu trữ web và app nhỏ? Cách lựa chọn cấu hình
Tìm hiểu xem VPS nào phù hợp cho mục đích lưu trữ web và app nhỏ? Cách lựa chọn cấu hình VPS sao cho phù hợp
SSD Hosting là gì? Ưu nhược điểm và cách lựa chọn phù hợp
SSD Hosting là gì? Tìm hiểu cách công nghệ lưu trữ SSD cải thiện khả năng truy xuất dữ liệu và những yếu tố cần cân nhắc khi lựa chọn hosting.
Bình luận ()