Độ trễ – Latency: Thông số quan trọng nhất trong hệ thống lưu trữ

Khái niệm Latency

Latency là khái niệm về tốc độ xử lý một request I/O của hệ thống. Khái niệm này rất quan trọng bởi vì một hệ thống lưu trữ mặc dù chỉ có 1000 IOPS với thời gian xử lý trung bình có latency 10ms, vẫn có thể tốt hơn một hệ thống với 5000 IOPS nhưng latency là 50ms. Đặc biệt đối với các ứng dụng “nhạy cảm” với latency, chẳng hạn như dịch vụ Database.

Lấy ví dụ thực tế, trong một siêu thị, nếu như các thu ngân (ổ cứng) phục vụ cho các khách hàng (I/O) với thời gian latency là 10ms. Vậy nôm na, có thể hiểu rằng thu ngân này phục vụ 100 khách/1 giây. Tuy nhiên, nếu có thời điểm 100 khách này tới cùng một lúc trong vòng 10ms thì sao? Khách hàng sẽ phải đứng đợi. Và cũng tuỳ từng nhu cầu khách hàng (size I/O) mà latency có thể khác nhau, 15ms hoặc thậm chí 20ms.

Giải pháp ảo hóa hạ tầng lưu trữ

Hình minh hoạ sau sẽ cho các bạn thấy tại sao khi ổ cứng tăng IOPS lại tốn latecy cao hơn. Sự thật là hệ thống lưu trữ sẽ nhìn vào hàng đợi (queu) và ra lệnh xử lý tuần tự cho các I/O, dẫn đến nếu hàng đợi dài hơn thì latency sẽ cao hơn, tùy thuộc vào hiệu năng yêu cầu của ứng dụng mà chúng ta có thể chấp nhận chuyện này hay không.

IOPS vs Latency: Yếu tố nào quyết định hiệu năng hệ thống Storage?

Để so sánh được hiệu quả hệ thống storage, các yếu tố về môi trường platform và ứng dụng cần phải giống nhau. Điều này rất khó, vì hệ thống của doanh nghiệp cần phải chạy multi-workload.

Trong một vài trường hợp, việc xử lý/transfer 1 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 nhiều 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 (queue depth) và mức độ xử lý song song… đều có ảnh hưởng đến hiệu năng IOPS.

Có lẽ hệ thống sử dụng các ổ cứng HDD hay SSD hiện nay thì tốc độ đã quá cao rồi, khi đứng riêng lẻ 1 mình, con số này trở nên vô ích. Và vô hình chung nó trở thành 1 thuật ngữ để các nhà sản xuất tiếp thị cho thiết bị của mình, các doanh nghiệp không nên dựa vào đó làm thước đo quyết định hiệu năng hệ thống storage. Thay vì đặt câu hỏi: “hệ thống với bao nhiêu IOPS là được?”, ta nên hỏi rằng: “Thời gian xử lý ứng dụng là bao nhiêu?”. Latency nên được xem là thông số hữu ích nhất, vì nó tác động trực tiếp lên hiệu năng của hệ thống, nó là yếu tố chính nên dựa vào để tính ra chỉ số IOPS và throughput. Nghĩa là việc giảm thiểu latency sẽ trực tiếp cải thiện hiệu năng chung của cả hệ thống.

____
Bài viết liên quan

Góp ý / Liên hệ tác giả