2020-08-08 mdtest - 元数据能力测试工具

2020-08-08  本文已影响0人  昨天今天下雨天1

mdtest说明

mdtest是一款针对服务器元数据处理能力的基准测试工具,可以用来模拟对文件或目录的open/stat/close操作,然后返回报告。
下载链接 https://sourceforge.net/projects/mdtest/

安装

  1. 安装依赖包
    安装openmpi,使用yum安装即可
    yum install openmpi openmpi-devel -y

  2. 下载mdtest压缩包
    mkdir -p <path_to_mdtest>/mdtest #创建用于存放mdtest的目录
    cd mdtest
    上传mdtest压缩包到该目录


    tar -xvf mdtest-1.9.3.tgz #解压压缩包

  3. 环境变量配置
    在/root/.bashrc中添加openmpi的执行路径,为了方便后面也可以添加mdtest的路径到环境变量中

    export PATH="$PATH:/usr/lib64/openmpi/bin/"
    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/openmpi/lib/"
    export PATH=$PATH:<path_to_mdtest>/mdtest      #添加上一步中创建的mdtest的路径

使环境变量生效

    source /root/.bashrc

  1. 修改MakeFile文件
    步骤2中,解压mdtest压缩包之后


    修改MakeFile文件
    vim MakeFile


    在这里插入图片描述

    mdtest: mdtest.c
    mpicc -Wall -D (OS)(LARGE_FILE) $(MDTEST_FLAGS) -g -o mdtest mdtest.c -lm
    注:第二行的缩进,需要使用Tab来进行,不能使用空格

  2. 编译
    make


    完成之后,在该目录下,就有多出来可执行的mdtest文件,且支持mpirun调用


命令

mdtest -h


-b: 目录树的分支参数
-B: 不同的阶段没有隔离 (create/stat/remove)
-c: 共同创建: task 0 完成所有的创建和删除工作
-C: 只创建文件或目录,不作删除;
-d: 指出测试运行的目录(若不指定,则默认当前目录)
-D: 只对目录操作进行测试(不包括文件)
-e: 从每个文件读出的文件大小
-E: 只读取文件
-f: 首先运行的任务号;
-F: 只创建文件,没有目录
-h: 输出帮助信息
-i: 测试迭代循环次数
-I: 每个树节点包含的项目
-l: 最后运行的任务号
-L: 只在目录树的“叶子”层创建文件/目录;
-n: 每个任务需要在每棵树中create/stat/remove的文件/目录数
-N: 遍历时指定和相邻任务的跨度
-p: 每次迭代之间延时(以秒计算)
-r: 删除文件/目录
-R: 随机遍历文件/目录
-s: 每次测试的任务数的跨度
-S: 共享文件访问(只针对文件操作)
-t: 记录特定目录的时间开销
-T: 只统计文件、目录;
-u: 为每个任务指定工作目录
-v: 详细说明(每个实例的选择加一)
-w: 写到每个文件的字节数bytes
-y: 再写执行完后同步文件到磁盘(同步写)
-z: 目录树的深度
笔记:

常用命令:
mdtest -z 2 -b 3 -I 10 -d /mnt/test
目录树深度为2,每个节点分支为3,每个节点包含10个文件,测试目录为/mnt/test
总节点为1+3+9=13个,每个节点包含10个文件,总文件数为130

mdtest -z 3 -b 4 -I 10 -d /mnt/test
目录树深度为3,每个节点分支为4,每个节点包含10个文件,测试目录为/mnt/test
总节点为1+4+16+64=85个,每个节点包含10个文件,总文件数为850

mdtest -n 10000 -i 3 -d /mnt/test
测试10000个文件,测试3次,测试目录为/mnt/test

添加-F,-C,-E,-D等命令,单独测试某些功能
可以使用mpirun调用mdtest命令,进行多线程多客户端运行

增加并行的运行节点
[root@host1 ~]# vim /etc/openmpi-x86_64/openmpi-default-hostfile
添加
host2 slots=1
host3 slots=1
特别注意加slots 这个是配置权重的,如果不配置,第一条有默认权重,就无法在数目小时进行均衡操作

检查是否配置成功,np为操作线程数
[root@lab8105 ~]# mpirun --allow-run-as-root -np 2 hostname
host2
host3

如果想单机执行多进程,可以用-host指定主机
[root@lab8105 ~]# mpirun -host host2 --allow-run-as-root -np 2 mdtest -I 10 -z 3 -b 2 -d /mnt/test/

输出结果

Directory creation 目录的创建
Directory stat 目录创建统计
Directory removal 目录的删除
File creation 文件的创建
File stat 文件的统计
File read 文件的读取
File removal 文件的删除
Tree creation 目录树的创建
Tree removal 目录树的删除
注:Max(最大)Min(最小)Mean(平均),其中Std Dev表示标准差,时间单位是IOPS。所有的创建,统计,读取,删除,都是一个性能

上一篇下一篇

猜你喜欢

热点阅读