Hướng dẫn kiểm tra random IOPS với công cụ FIO
19/10/2019I. Kiểm tra random IOPS
Cụ thể hơn trong kết quả test chúng ta sẽ kiểm tra các thông số sau:
1. Random write, random read hoặc kết hợp cả hai. Ví dụ như đối với database khi truy cập hệ thống sẽ đọc data từ ổ cứng, được hiểu là random read (access).
2. Block size 4KB, đây là con số lý tưởng nhất. Cụ thể như đối với các hệ thống database và source code cũng như phần lớn các hệ thống khác sẽ truy xuất lượng dữ liệu là rất nhỏ nhưng số lần yêu cầu truy xuất (read) rất là nhiều. Để có thể hình dung quý khách có thể tham khảo ví dụ sau:
Ví dụ: khi quý khách truy cập vào bài viết này thì code PHP sẽ xử lý và thực hiện query trong database chỉ để lấy ra tiêu đề “Làm thế nào kiểm tra hiệu suất của ổ cứng” cũng như nội dung bài viết với dung lượng rất nhỏ và nhanh. Quý khách có thể hình dung đây là 1 lần yêu cầu truy cập vào hệ thống và gọi lên lượng dữ liệu rất nhỏ và số lần gọi tương tự như vậy trên các hệ thống thực tế ngày nay là rất nhiều. Và 4KB là block size thấp nhất của tất cả các hệ thống.
- Xử lý đa nhiệm. Khác với câu lệnh dd là việc xử lý diễn ra chỉ là 1 tiến trình duy nhất tuy nhiên đối với công cụ FIO sẽ kiểm tra được tốc độ khi xử lý luân phiên đồng thời. Nếu website của quý khách có nhiều người truy cập đồng thời thì hệ thống của quý khách sẽ phải phục vụ tương đương với số lần truy đồng thời như vậy. Chúng tôi sẽ giả lập và đo lường tương đương như nhiều người đang truy cập vào hệ thống tại cùng một thời điểm.
FIO là công cụ đo lường IOPS phổ biến trên tất cả các hệ thống Linux. Để cài đặt chúng ta cần download và compile phần mềm này thông qua các lệnh sau đây:

Sau khi hoàn thành chúng ta có thể tiến hành test.
II. Kiểm tra random read/write đồng thời

Đây là câu lệnh dùng để test IOPS của ổ cứng. Câu lệnh này sẽ tạo ra file 4GB và test theo cơ chế read và write file 4KB đồng thời với tỉ lệ 75%/25% (cứ 3 requests read thì sẽ có 1 request write) với 64 lần thực hiện đồng thời tại một thời điểm. Tỉ lệ 3:1 rất phổ biến với các dạng database ngày nay.
Trong quá trình chạy hệ thống sẽ hiện thông tin tổng quát theo định dạng sau:

Và đây là kết quả sau khi hệ thống chạy hoàn tất:


Tại đây chúng ta sẽ quan tâm tới 2 con số trong phần tô đỏ bên trên. Chúng ta có một số nhận xét như sau:
- VPS có hiệu suất có thể thể thực hiện 20174 đọc và 6722 ghi đồng thời trên mỗi giây.
- VPS sử dụng ổ cứng local SSD với ổ Enterprise hoặc raid nhiều ổ SSD nhưng dành cho máy tính thường có thể thực hiện với con số khoảng 40,000 read và 10,000 write nếu hệ thống không có tải tại thời điểm đang test.
- VPS sử dụng ổ cứng SAS với cơ chế raid 10 có thể đạt được khoảng tầm 500 read và 200 write.
III. Kiểm tra random read

Kết quả:


Với kết quả này cho thấy VPS có thể thể thực hiện 49312 lần đọc đồng thời trong 1 giây.
IV. Kiểm tra random write:

Kết quả:


Kết quả này cho thấy VPS có thể thực hiện khoảng số lần 13148 write trong mỗi giây.
Đo độ trễ (latency) với IOPing
Cuối cùng chúng ta sẽ tiến hành kiểm tra hiệu suất của ổ cứng thông qua việc kiểm tra độ trễ của từng request. Để kiểm tra chúng ta sẽ dùng công cụ IOPing để đo lường.
Để cài đặt quý khách sử dụng các lệnh sau đây:

Sau khi cài đặt quý khách sử dụng lệnh sau đây để kiểm tra:

Và đây là kết quả trả về:


Trong kết quả này quý khách sẽ thấy điểm trung bình độ trễ của các request trong phần tô đỏ ở bên trên là 0.7ms. Đối với các hệ thống hoạt động ổn định con số này sẽ dao động dưới 1.0ms.
Như vậy theo như cách kiểm tra trên thì các chỉ số IOPS và latency ở mức cho phép, các chỉ số trên cho chúng ta thấy hệ thống đang hoạt động ổn định. Nhưng cần tính toán IOPS trên thiết bị lưu trữ để xem chúng ta thiết kế có đang quá thừa tài nguyên hay không?
Tin liên quan
Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng
Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.
Top 20 các extension visual studio code hữu ích cho lập trình viên
Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.
Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN
Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.
Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi
Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.
Test case là gì? Cách viết test case và mẫu minh họa cho người mới
Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.
AI Inference là gì? Cơ chế và vai trò trong vận hành AI
AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.
DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver
DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.
Microsoft Management Console là gì? Cách sử dụng MMC cho người mới
Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.
Rủi ro khi sử dụng giả lập online và cách phòng tránh
Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.
Bình luận ()