最近在测试一个文件系统,因此特意整理一下测试过程中使用的一些工具及测试方法。
主要从以下几个方面展开测试:
功能测试
Posix兼容测试
pjdfstest
下载安装
git clone https://github.com/pjd/pjdfstest
# clone代码后进入目录
# 首先确认有以下环境
# autoconf 2.69 or newer
# automake 1.15 or newer
# cc (clang or gcc)
# make
# appropriate system headers (please install your distribution appropriate header package)
# perl
# TAP-Harness (perl package)
# 编译
$ autoreconf -ifs
$ ./configure
$ make pjdfstest
测试
# 使用时,确保处于root权限,切换到要测试的路径
cd /path/to/filesystem/under/test
prove -rv /path/to/pjdfstest/tests
# 如果你想测试单独的一组用例,比如open
prove -rv /path/to/pjdfstest/tests/open
LTP
简介
LTP是由 Linux Test Project 所开发的一套系统测试套件,用于检测操作系统在压力测试下的表现,我们使用其中和文件系统相关的测试案例,包括fs_bind,fs_perms_simple,fsx,io,smoketest,fs,syscalls这七组测试用例。
下载安装
git clone https://github.com/linux-test-project/ltp.git
cd ltp
make autotools
./configure
make all
make install
测试
切换到安装位置
cd /opt/ltp
执行测试命令
./runltp -d /home/yangshuzheng.ysz/kfs/ -f fs_bind,fs_perms_simple,fsx,io,smoketest-kfs,fs-kfs,syscalls-kfs
性能测试
fio单机性能测试
下载安装
yum install fio -y
测试
fio --name=sequential-read --directory=/path/to/filesystem(文件系统的挂载路径) --rw=read --refill_buffers --bs=4M --size=4G
fio --name=sequential-write --directory=/path/to/filesystem --rw=