Nếu bạn đang chạy web server hay bất kỳ ứng dụng nào trên server và bạn đang quan ngại sâu sắc về tốc độ đọc ghi trên disk, lúc này DISK IOPS là thứ gì đó bạn nên quan tâm và cần phải nhận thức ngay về nó.
Đầu tiên chúng ta phải hiểu một số định nghĩa dưới đây.
I/O là gì?
Để hiểu Disk I/O là gì, điều tiên chúng ta cần phải hiểu từ I/O đại diện cho cái gì trước đã? Mình khá chắc chắn một điều hầu hết mọi người đều biết I/O là viết tắt của từ Input/ Output. Máy tính hoạt động trên nhiều loại thiết bị có Input/ Output khác nhau với nhiều tốc độ khác nhau.
Ví dụ về các thết bị I/O
Thiết bị | Hành vi | Đối tượng sử dụng | Data Rate KB/Sec |
---|---|---|---|
Bàn phím | Input | Người | 0.01 |
Chuột | Input | Người | 0.02 |
Line Printer | Output | Người | 1.0 |
Floppy Disk | Lưu trữ | Máy | 50 |
Máy in laser | Output | Người | 100 |
Optical Disk | Lưu trữ | Máy | 500 |
Magnetic Disk | Lưu trữ | Máy | 5000 |
Mạng LAN | Input-Output | Máy | 20-1000 |
Card đồ họa | Output | Người | 30000 |
Disk I/O là gì?
Tới đây chúng ta đã biết được định nghĩa I/O là gì rồi, thuật ngữ Disk I/O liên quan đến các hoạt động input/output trên đĩa bao gồm đọc hoặc ghi và được đo bằng KB/s.
IOPS là gì?
IOPS là tỷ lệ các hoạt động IO được đo lường trên mỗi giây.
Nó là tỷ lệ số lượng các hoạt động được thực hiện bởi thiết bị lưu trữ trong một khoảng thời gian 1 giây.
IOPS cho phép bạn hiểu các hoạt động đọc và ghi của logical disk trên hệ thống để chúng ta có thể biết ngưỡng hoạt động tối đa cho hệ thống.
- Writes/sec – tỷ lệ hoạt động ghi.
- Reads/sec – tỷ lệ hoạt động đọc.
- Busy time – % thời gian trôi qua khi ổ đĩa bận phục vụ truy vấn đọc và ghi khác.
- Queue length – số lượng truy vấn đến đĩa nằm trong queue.
I/O performance có tác động gì?
Đối các với mục đích sử dụng đĩa như: database, mail server, file server,… bạn nên tập trung tìm hiểu về các hoạt động input/output có thể thực hiện mỗi giây.
Có bốn yếu tố tác động đến IOPS:
- Multidisk Array – càng nhiều disk trong array nghĩa là IOPS càng lớn. Nếu một đĩa có thể thực hiện 150 IOPS thì 2 đĩa có thể thực hiện 300 IOPS.
- IOPS trung bình trên mỗi đĩa – số IOPS trên đĩa càng lớn trên mỗi đĩa, tổng IOPS sẽ càng lớn. Phần lớn được xác định bởi tốc độ quay của ổ đĩa.
- RAID – ứng dụng của bạn có thể sử dụng cấu hình RAID cho lưu trữ, nghĩa là bạn đang sử dụng nhiều đĩa để tăng độ tin cậy và dự phòng. Một số cấu hình RAID có phần làm chậm các hoạt động ghi. Ví dụ RAID 6, mọi truy vấn ghi đĩa yêu cầu 6 hoạt động ghi đĩa. Đối với RAID 0 và RAID 10, truy vấn ghi đĩa chỉ đòi hỏi 2 hoạt động động ghi đĩa. Số lượng hoạt động ghi đĩa càng thấp, IOPS càng cao.
- Khối lượng đọc và ghi – nếu bạn có tỷ lệ các hoạt động ghi mà thiết lập RAID thực hiện nhiều hành động cho mỗi truy vấn ghi (như RAID 5 và RAID 6), IOPS sẽ chậm hơn đáng kể.
Xem thêm: hướng dẫn cách kiểm tra RAID
Cách tính IOPS
Mọi đĩa trong hệ thống lưu trữ đều có giá trị IOPS tối đa theo lý thuyết dựa trên một công thức. Disk performance và IOPS được dựa trên 3 yếu tố chính:
- Tốc độ quay – được đo lường bằng số vòng quay mỗi phút (RPM), hầu hết các đĩa hiện nay có tốc độ vòng quay là 7200, 10000 và 15000 RPM, trong đó 2 cái ở sau là phổ biến nhất. Tốc độ quay càng lớn thì đĩa có hiệu năng càng cao. Giá trị này không được sử dụng trực tiếp để tính toán, nhưng cực kỳ quan trọng.
- Độ trễ trung bình – thời gian cần thiết để sector trên đĩa được truy cập để xoay vào vị trí dưới đầu đọc/ghi.
- Thời gian tìm kiếm trung bình – thời gian (ms) cần thiết để đầu đọc/ghi định vị được vị trí của nó trên track đang được đọc/ghi.
Để tính toán IOPS, chúng ta có thể sử dụng công thức sau để tính trung bình IOPS: chia 1 cho tổng độ trễ (ms) và thời gian tìm kiếm trung bình (ms)
1/ (độ trễ trung bình + thời gian tìm kiếm trung bình)
Ví dụ ta có ổ cứng sau đây:
- Model: Western Digital VelociRaptor 2.5″ SATA hard drive
- Tốc độ quay: 10,000 RPM
- Độ trễ trung bình: 3 ms (0.003 seconds)
- Thời gian tìm kiếm trung bình : 4.2 (r)/4.7 (w) = 4.45 ms (0.0045 seconds)
Tính toán IOPS cho đĩa này như sau: 1/(0.003 + 0.0045) = khoảng 133 IOPS
Vì vậy ổ đĩa ví dụ ở trên có thể hỗ trợ khoảng 133 IOPS.