IOPS là thông số phổ biến để đo hiệu năng của các thiết bị lưu trữ, chẳng hạn như các ổ cứng. Nhưng liệu IOPS có thật sự đáng để quan tâm như nhiều người nghĩ? Hãy cùng Vnpedia tìm hiểu về IOPS là gì và tại sao IOPS lại quan trọng ngay trong bài viết này nhé!
IOPS là gì?
IOPS (viết tắt của Input/Output per second) được hiểu nôm na là 1 truy cập đọc (read) hoặc viết (write) được hoàn thành trong 1 giây.
Có ba yếu tố quan trọng quyết định đến hiệu suất lưu trữ. Đó là tốc độ băng thông, độ trễ và IOPS. Hầu hết các nhà cung cấp dịch vụ lưu trữ có xu hướng tập trung vào IOPS. Chỉ để khoe khoang về tốc độ hệ thống lưu trữ của họ. Nhưng đo lường hiệu suất hệ thống lưu trữ bằng IOPS chỉ có giá trị nếu workload sử dụng yêu cầu IOPS cao.
Khi đánh giá một hệ thống lưu trữ mới, đặc biệt là một hệ thống all-flash. Số lượng IOPS mà hệ thống lưu trữ có thể duy trì. Thường được sử dụng để phân biệt một hệ thống lưu trữ này với một hệ thống khác. Nhưng đây có thực sự là một tiêu chuẩn có giá trị xứng đáng với nhu cầu của trung tâm dữ liệu ngày nay? Nó có xứng đáng với khả năng của các hệ thống lưu trữ ngày nay không?
Tốc độ truyền của IOPS là gì?
Có nhiều biến số cần xem xét khi xác định hiệu suất tổng thể của hệ thống lưu trữ. Có những yếu tố bên ngoài như cách dữ liệu được đọc hoặc ghi vào hệ thống lưu trữ. Hay có thể là tốc độ của chính cấu trúc mạng lưu trữ. Ngoài ra còn có những yếu tố bên trong khác nữa. Chẳng hạn như sức mạnh CPU của controller. Hay hiệu năng của phần mềm lưu trữ. Và tất nhiên, tốc độ của phương tiện lưu trữ được cài đặt trong hệ thống lưu trữ nữa.
Trong bài viết này, chúng tôi sẽ giả định rằng tất cả các yếu tố bên ngoài là như nhau. Khi đó, tốc độ truyền về cơ bản là tốc độ mà bộ điều khiển lưu trữ có thể truyền tải các khối dữ liệu thông qua phần mềm lưu trữ đến phương tiện lưu trữ. Nó thường được đo bằng MB/s và tốc độ truyền cao là rất quan trọng. Đặc biệt là đối với workload có tính chất tuần tự (sequence).
Ví dụ so sánh:
Hãy so sánh cách hai workload truy cập cùng một lượng dữ liệu yêu cầu một lượng IOPS khác nhau đáng kể. Workload đầu tiên yêu cầu đọc 10 file 750MB, 7,5GB và mất 100 giây để quá trình chuyển diễn ra. Điều này có nghĩa là tốc độ truyền là 75MB / s và tiêu thụ 10 IOPS. Con số này nằm trong khả năng của một đĩa cứng. Workload thứ hai yêu cầu đọc mười nghìn file 750KB, cùng một lượng dữ liệu, 7,5 GB, nhưng nó tiêu thụ 10.000 IOPS. Vì ổ đĩa thông thường không thể tạo hơn 200 IOPS nên request này sẽ không được thực hiện trong cùng 100 giây. Đây là một ví dụ về việc các workload khác nhau có thể yêu cầu hiệu suất khác nhau đáng kể. Trong khi sử dụng cùng một dung lượng lưu trữ.
Vì sao IOPS quan trọng?
Về cơ bản, IOPS xác định tốc độ hoạt động của ổ đĩa cứng, tốc độ này càng nhanh thì càng tốt. Bởi vì những lý do sau đây:
- Bạn phải biết được số lượng IOPS mà hệ thống của bạn cần. Bắt đầu bằng cách lấy một con số thực tế trên hệ thống của bạn. Máy chủ hiện tại của bạn có thể xử lý các yêu cầu trong bao lâu? Có bao nhiêu CPU và bộ nhớ được cấp phát trên môi trường hiện tại của bạn? Tại thời điểm đỉnh điểm trong ngày, CPU của bạn phải tải bao nhiêu? Có bao nhiêu tiến trình hoạt động đang chạy và chạy như thế nào?
- Đối với google, tốc độ tải trang là 1 trong những yếu tố quan trọng ảnh hưởng đến thứ hạng của website trên các công cụ tìm kiếm. Vì vậy, các website có tốc độ tải nhanh đương nhiên sẽ có thứ hạng tốt hơn. Hơn nữa, các website sở hữu tốc độ tải nhanh hơn sẽ được người dùng yêu thích, từ đó có xu hướng chuyển đổi ra đơn hàng nhiều hơn, thúc đẩy gia tăng doanh thu cho chủ website. Hiện nay, có rất nhiều cách để tăng tốc độ 1 trang web nhưng để tăng tốc website nhanh chóng và tiết kiệm, bạn có thể sử dụng hosting SSD.
- Không nên quá chú trọng đến sự khác nhau giữa các chỉ số IOPS của các nhà cung cấp khác nhau. Thông số này có thể thay đổi tùy thuộc vào loại hoạt động, kích thước của khối máy chủ, số lượng và trọng lượng của yêu cầu. Thêm một điều quan trọng khi đi thuê dịch vụ có cam kết dịch vụ đó là người dùng cần phải biết các yêu cầu đó được thực hiện như thế nào? Những điểm đặt mà yêu cầu được điều tiết như thế nào? Tỷ lệ đọc/ghi là gì?
Các phép đo IOPS không đáng tin cậy
Có một vấn đề khác khi sử dụng IOPS như một cách để phân biệt giữa các hệ thống lưu trữ flash. Đó là có quá nhiều cách để tạo số IOPS, như minh họa của chúng tôi ở trên. IOPS có thể bị ảnh hưởng đáng kể bởi kích thước của block được sử dụng. Bên cạnh đó còn là sự kết hợp giữa hoạt động đọc / ghi và số lượng ngẫu nhiên trong luồng I / O đó.
Chẳng hạn tất cả các nhà cung cấp đều tiêu chuẩn hóa về cách đặt từng biến trong số này. Khi đó nó sẽ hầu như chẳng liên quan gì đến trung tâm dữ liệu.
Ví dụ: nếu các nhà cung cấp nói báo cáo IOPS từ các thử nghiệm sử dụng kích thước block 4k và kết hợp đọc / ghi ngẫu nhiên 50%. Thì kết quả sẽ có ít ý nghĩa đối với một trung tâm dữ liệu có workload đang tạo ra block 32k với 80% tỉ lệ ghi. Hầu hết các trung tâm dữ liệu sẽ có nhiều workload chạy trên mảng tất cả các flash của họ. Nó có thể sẽ hỗ trợ nhiều workload với các kết hợp đọc / ghi khác nhau.
Các phép đo IOPS phù hợp
Có một cách phù hợp để đo lường hiệu suất của mảng all-flash hoặc thậm chí là mảng hybrid. Đó là phát triển thống kê hiệu suất dựa trên workload cụ thể hoặc hỗn hợp workload.
Ví dụ: chạy kiểm tra hiệu suất SQL và VDI cùng một lúc trên cùng một hệ thống lưu trữ. Thay vì báo cáo về IOPS đã sử dụng, hãy báo cáo về dữ liệu rõ ràng và phù hợp hơn với trung tâm dữ liệu. Trong trường hợp này, đó có thể là số lượng người dùng SQL đồng thời. Các phiên bản VDI được hỗ trợ trong khi vẫn duy trì thời gian response có thể chấp nhận được.
Cách tính IOPS và số lượng ổ cứng
Ngoài vấn đề IOPS là gì? IOPS có quan trọng không? thì bạn cũng nên nắm rõ công thức tính chỉ số IOPS và số lượng ổ cứng để có thể chủ động trong quá trình sử dụng.
Công thức tính IOPS và số lượng ổ cứng
* 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 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 LevelCapacityIOPS RAID 103,215 GB1200RAID 64,822 GB624RAID 55,626 GB821
Còn nếu 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 ổ cứng HDD thì số IOPS chỉ là 918, nếu 9 ổ cứng thì IOPS sẽ là 1032, còn 11 ổ cứng thì sẽ là 1262.
Có thể thấy, khi cấu hình các RAID level khác nhau, IOPS và capacity có sự thay đổi đáng kể: IOPS cao thì capacity sẽ bị giảm xuống và ngược lại. Nguyên nhân là do 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
Còn thông số IOPS trên ổ sứng SSD thì sao? Nếu bạn đã muốn sử dụng SSD enterprise, thì thông số 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 sử dụng ổ cứng NVMe.
Lời kết
Sử dụng IOPS như một cách để phân biệt giữa các mảng flash là một việc rủi ro. Hầu hết các hệ thống cung cấp nhiều IOPS hơn nhu cầu của trung tâm dữ liệu thông thường. Các trung tâm dữ liệu này có thể dành thời gian của họ tốt hơn bằng cách tìm kiếm mảng flash cung cấp các tính năng họ cần với mức giá họ có thể mua được. Cũng như lộ trình nâng cấp để tiếp tục đón đầu nhu cầu về hiệu suất.
Đối với những trung tâm dữ liệu cần hiệu suất đủ cao để IOPS có thể phù hợp, thì số IOPS do nhà cung cấp cung cấp có quá nhiều sự thay đổi giữa chúng để tạo ra sự khác biệt có ý nghĩa giữa chúng. Các trung tâm dữ liệu này tốt hơn nên yêu cầu các kết quả cụ thể dựa trên hỗn hợp workload phù hợp chặt chẽ với môi trường của chúng.
Ở thị trường Việt Nam, có rất ít nhà cung cấp dịch vụ Hosting đảm bảo cam kết IOPS, do đó bạn cần tìm hiểu kỹ càng.
Vnpedia là nhà cung cấp dịch vụ phần mềm trên nền tảng cloud server hiếm hoi cam kết IOPS tại Việt Nam. Hiện nay Vnpedia đang phát triển 3 gói dịch vụ phần mềm đáp ứng đa dạng mục đích sử dụng của khách hàng. Các gói Hosting của Vnpedia bao gồm:
- Phần mềm quản lý tòa soạn hội tụ AICMS.
- Phần mềm Website doanh nghiệp, giáo dục.
- Phần mềm quản lý phòng khám, nha khoa y tế.