IOPS là gì? Latency là gì? Nếu bạn đang muốn tìm hiểu và tính xem ổ đĩa hoặc Cloud Server có mạnh hay không, TinoHost sẽ giải đáp cho bạn ngay trong bài viết này! Chúng ta cùng nhau tìm hiểu ngay bạn nhé!
Giới thiệu đôi nét về IOPS và Latency
IOPS là gì?
IOPS (Input/Output per Second) là đơn vị đo lường cho biết số lượng tác vụ Write hoặc Read được hoàn thành trong 1 giây của ổ cứng.
Hiểu đơn giản, IOPS là số thao tác đọc ghi trong một giây của ổ cứng.
Ví dụ: 4k được 50000 IOPS nghĩa là tốc độ read/write = 50000*4k=200000K/s~ 200MB/s
Tham số này thể hiện: SSD này sao chép được 200 MB/s các file nhỏ như 4k trong thời gian 1 giây.
IOPS thường được sử dụng cho các thiết bị lưu trữ như HDD, SSD hoặc SAN. Một ổ SAS (một dạng của HDD) 15.000rpm trung bình khoảng 200 IOPS trong khi ổ SSD có thể đạt từ vài nghìn IOPS cho tới vài triệu IOPS (nhờ cấu trúc chip nhớ truy cập ngẫu nhiên của ổ SSD).
Tham số IOPS được các nhà sản xuất thiết bị thông báo công khai và không liên quan gì đến các ứng dụng đo lường hiệu năng cả. Có các ứng dụng đo lường khác nhau như IOmeter, DiskSpd…
Tùy theo tính chất riêng mà các System Admin sẽ chọn một ứng dụng phù hợp.
Ý nghĩa của IOPS đối với Cloud Server
Tham số IOPS tỉ lệ thuận với tốc độ xử lý
Nếu tham số IOPS cao thì tốc độ xử lý sẽ càng nhanh, dẫn đến số tác vụ được xử lý sẽ nhiều hơn. Do đó, hiệu năng của ứng dụng trên Cloud Server sẽ cao lên theo.
Tuy nhiên, nếu IOPS quá cao, chạm mức giới hạn vật lý, tình trạng thắt cổ chai sẽ xảy ra. Bạn có thể hình dung: Khi IOPS quá cao, Latency cao theo và sẽ giảm throughput (tốc độ truyền dữ liệu qua mạng).
Đối với IOPS, thông tin quan trọng nhất mà bạn cần 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).
Định vị thứ hạng của website trên thị trường
Google đã tuyên bố rằng tốc độ tải trang là một trong những yếu tố quyết định thứ hạng của website, do đó, các trang web nhanh hơn sẽ có thứ hạng tốt hơn.
Các website sở hữu tốc độ tải nhanh hơn có xu hướng bán hàng nhiều hơn vì người dùng thích trải nghiệm tốc độ tải trang nhanh chóng.
Cách tính IOPS và số lượng ổ cứng
Công thức:
- 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 thông số:RAID Level Capacity IOPS RAID 5 5,626 GB 821 RAID 6 4,822 GB 624 RAID 10 3,215 GB 1200
Ví dụ: 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.
Ví dụ về IOPS trong thực tế
Thiết bị ổ đĩa | Loại | IOPS |
Intel SSD 750 Series | SSD | 440.000 IOPS đọc 290.000 IOPS ghi |
Samsung SSD 960 EVO | SSD | 380.000 IOPS đọc 360.000 IOPS ghi |
Samsung SSD 960 PRO | SSD | 440.000 IOPS đọc 360.000 IOPS ghi |
(IBM) Texas Memory Systems RamSan-720 Appliance | FLASH/DRAM | 500.000 lần đọc tối ưu, 250.000 lần ghi tối ưu 4kB IOPS |
Thông thường, một ổ đĩa HDD sẽ có phạm vi IOPS từ 55-180 và ổ SSD sẽ có IOPS từ 3.000 – 40.000.
Latency là gì?
Latency là thời gian ổ cứng bắt đầu thực hiện một data transfer.
Thực chất, Latency là khái niệm về tốc độ xử lý 1 request I/O của hệ thống.
Latency Network còn gọi là độ trễ của mạng. Hiểu đơn giản, độ trễ của tốc độ mạng thể hiện cho sự chậm trễ thường phát sinh trong xử lý dữ liệu của mạng máy tính.
Nguyên lý hoạt động Latency
Trong HDD vật lý truyền thống, latency bao gồm cả seek time (thời gian để đầu đọc tìm ra vị trí data) và rotational latency (độ trễ chuyển động quay của trục). Với throughput đều có thể đáp ứng nhu cầu, thông số latency sẽ quyết định hiệu năng của volume vì nó quyết định thời gian trễ khi bắt đầu thực hiện thao tác.
Ví dụ: Trong 1 cửa hàng, thu ngân (đóng vai trò như ổ cứng) phục vụ cho khách hàng (đóng vai trò như I/O) trong thời gian latency là 10ms. Hiểu đơn giản, thu ngân này có thể phục vụ 100 khách/1 giây.
Latency được tính như thế nào?
Đơn vị đo Latency là ms.
Có khá nhiều cách và công cụ để kiểm tra độ trễ của mạng. Trong đó, kiểm tra Ping và Traceroute là 02 cách kiểm tra phổ biến nhất.
Cách đo: Độ trễ được đo bằng cách xác định thời gian cần để 01 gói dữ liệu mạng đi tới đích và trở về điểm xuất phát ban đầu.
Latency được xem là thông số quan trọng nhất trong hệ thống lưu trữ.
Khái niệm này rất quan trọng. Bạn có biết, 1 hệ thống lưu trữ chỉ có capacity 1000 IOPS với thời gian trung bình xử lý latency 10ms hoàn toàn vẫn có thể tốt hơn 1 hệ thống với 5000 IOPS nhưng latency là 50ms, nhất là với dịch vụ Database.
IOPS và latency: Yếu tố nào quyết định hiệu năng hệ thống Storage?
Ví dụ cụ thể về IOPS và latency
Dựa vào ví dụ dưới đây, bạn sẽ có cái nhìn cụ thể hơn:
Hoạt động ship hàng từ điểm A đến điểm B.
- 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
Trong ba tham số, đặc biệt là hai tham số IOPS và latency phản ánh chất lượng phục vụ rõ nét nhất. Tuy nhiên, các tham số tồn tại độc lập, riêng lẻ chứ không phải lúc nào cũng song hành: chỉ số này tốt kéo theo chỉ số kia cũng tốt theo.
Có thể dễ dàng nhận ra được rằng: trong ví dụ trên, 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.
Đánh giá IOPS và latency
Để so sánh được hiệu quả hệ thống storage, bạn phải đảm bảo các yếu tố khác đạt mức tương đồng, các ứng dụng cũng cần giống nhau. Đây là điều gần như không tưởng vì hệ thống doanh nghiệp cần phải chạy multi-workload.
Như trong ví dụ trên: việc xử lý lượng lớn data (high throughput) thì được xem là tốt, nhưng khi cần xử lý số lượng lớn các I/O nhỏ thật nhanh (cần IOPS) thì chưa chắc và ngược lại. Lúc này kích cỡ I/O, độ dài của hàng đợi (queu depth) và mức độ xử lý song song… đều có ảnh hưởng đến hiệu năng.
Ngày nay, đa số các hệ thống đều sử dụng các ổ cứng HDD hay SSD nên tham số IOPS đã đạt mức rất cao. Tuy nhiên, dù đạt con số cao vượt bậc nhưng khi đứng riêng lẻ, con số này trở nên vô ích, trừ tác dụng hỗ trợ các nhà sản xuất marketing cho thiết bị của mình. Thực chất, IOPS không phải là thước đo quyết định hiệu năng hệ thống Storage.
Do đó, thay vì quan tâm: “Hệ thống với bao nhiêu IOPS là được?” , bạn nên chú trọng vào: “Thời gian xử lý ứng dụng là bao nhiêu?” .
Latency được xem là thông số hữu ích nhất, vì nó không chỉ tác động trực tiếp lên hiệu năng của hệ thống mà còn là yếu tố chính nên dựa vào tính toán ra IOPS và throughput. Chỉ cần giảm thiểu Latency sẽ giúp cải thiện chung hiệu năng của cả hệ thống.
Ở Việt Nam, có rất ít nhà cung cấp đảm bảo cam kết IOPS, vậy nên bạn cần tìm hiểu kỹ càng nhé!
Kết luận
Qua bài viết trên, TinoHost hy vọng bạn đã hiểu IOPS là gì, Latency là gì. Nhìn chung, IOPS và Latency là hai khái niệm quan trọng trong việc đánh giá hiệu suất của hệ thống lưu trữ. Hiểu rõ ý nghĩa và mối quan hệ giữa hai chỉ số này có thể giúp bạn lựa chọn thiết bị lưu trữ phù hợp với nhu cầu của mình, đảm bảo hệ thống hoạt động hiệu quả và đáp ứng tốt nhất cho các ứng dụng.
Những câu hỏi thường gặp
Latency bao nhiêu là tốt?
Thông thường, Latency sẽ đo bằng đơn vị mili giây. Đối với môi trường VMware, Latency tối đa có thể chấp nhận được là 20 mili giây. Tuy nhiên, trong môi trường all flash, 20 mili giây là thời gian tồn tại. Những mảng flash tốt sẽ có thể đạt đến mức chỉ từ 3 – 4 mili giây.
Hard disk throughput/ thông lượng ổ đĩa cứng là gì?
Thông lượng dữ liệu của ổ đĩa (còn gọi là tốc độ truyền) bao gồm cả tốc độ dữ liệu di chuyển giữa bề mặt đĩa (tốc độ bên trong) và bộ điều khiển trên ổ đĩa và tốc độ bên dữ liệu di chuyển giữa bộ điều khiển trên ổ đĩa và hệ thống máy chủ (tốc độ bên ngoài).
Throughput bao nhiêu là tốt?
Trong hầu hết các trường hợp, Throughput càng cao sẽ càng tốt.
4k IOPS là gì?
4k IOPS có nghĩa là số I/Os mỗi giây cho các yêu cầu 4KB dữ liệu. Trong bài viết, Tino Group có sử dụng ví dụ với 15k IOPS đấy.