Sử dụng công cụ fio và IOPing để kiểm tra khả năng hoạt động của ổ cứng
Bài đăng này đã không được cập nhật trong 3 năm
Một trong những yếu tố ảnh hưởng đến hiệu suất hoạt động của server hay PC đó là tốc độ đọc/ghi của ổ cứng. Có rất nhiều công cụ được sử dụng để kiểm tra tốc độ đĩa cứng, ví dụ như lệnh "dd", tuy nhiên "dd" không chỉ ra rõ được thi tiết về khả năng hoạt động của ổ cứng. Ở đây chúng ta sẽ có một công cụ khác thay thế với rất nhiều tính năng và ưu điểm so với "dd". Đó là fio và IOPing.
Trong bài viết sau, sẽ sử dụng hệ điều hành Centos 7.
Cài đặt fio:
Trước hết ta cần cài đặt EPEL repo:
$ wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ rpm -ivh epel-release-latest-7.noarch.rpm
Sau đó lầ cài đặt fio:
$ yum install -y fio
Để kiểm tra tốc độ đọc ghi của ổ cứng, ta sử dụng lệnh sau:
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
Quá trình test sẽ diễn ra như hình:
fio sẽ tạo ra 1 file nặng 4GB và thực hiện quá trình đọc và ghi với blocksize là 4KB theo tỉ lệ 75% đọc và 25% ghi, chạy cùng lúc 64 tiến trình.
Ở phần kết quả ta sẽ quan tâm đến thông số iops sau
read : io=3071.7MB, bw=17255KB/s, iops=4313, runt=182291msec
write: io=1024.4MB, bw=5754.8KB/s, iops=1438, runt=182291msec
ta lấy kết quả này so sánh với thông số ổ cứng ( tất nhiên là sẽ có sự sai lệch ), ví dụ như ở đây mình sử dụng ổ cứng Intel ssd-730-series có tốc độ:
- Random 4KB4 Reads: Up to 89,000 IOPS
- Random 4KB4 Writes: Up to 74,000 IOPS
Vậy ta có thể kiểm tra được hiệu suất làm việc của ổ cứng ở thời điểm check.
Ngoài ra ta có thể kiểm tra từng phần đọc/ghi Kiểm tra tốc độ đọc của ổ đĩa:
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read.fio --bs=4k --iodepth=64 --size=4G --readwrite=randread
Hay kiểm tra tốc độ ghi
$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_write.fio --bs=4k --iodepth=64 --size=4G --readwrite=randwrite
Tiếp theo ta sẽ sử dụng công cụ IOPing để kiểm tra độ trễ của ổ cứng.
Trước hết cần cài đặt IOPing:
Cài đặt IOPing
$ yum install -y ioping
Thực hiện lệnh test sau:
$ ioping -c 10 .
Quá trình test diễn ra như ảnh
All rights reserved