美文网首页
2020-08-08 mdtest - 元数据能力测试工具

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

作者: 昨天今天下雨天1 | 来源:发表于2020-08-08 08:52 被阅读0次

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: 目录树的深度
笔记:

  • -N通过将跨步设置为“每个节点的任务”来允许“读取邻居”方法。 不要将它与-B一起使用,因为它会创建竞争条件。
  • -d允许格式为’-d fullpath1 @ fullpath2 @ fullpath3’的多个路径
  • -B允许每个任务自行计时。 汇总结果反映了这一变化。
  • -n和-I不能一起使用。 -I指定每个树节点创建的文件/目录的数量,而-n指定整个树上创建的文件/目录的总数。 使用-n时,整数除法用于确定每个树节点的文件/目录数。 (例如,如果-n为10且有4个树节点(z = 1和b = 3),则每个树节点将有2个文件/目录。)
  • -R和-T可以分开使用。 -R仅表示如果要对文件/目录进行统计,那么它们将被随机统计。

常用命令:
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。所有的创建,统计,读取,删除,都是一个性能

相关文章

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

    mdtest说明 mdtest是一款针对服务器元数据处理能力的基准测试工具,可以用来模拟对文件或目录的open/s...

  • 预估mdtest写入文件数

    title: 预估mdtest写入文件数 前言 大家都知道mdtest工具一般是用来测试文件系统处理元数据性能的,...

  • mdtest测试工具

    软件介绍 mdstest是软件的元数据操作基准测试工具,用来模拟对文件或者目录的open、stat、close操作...

  • MySQL的压力测试

    一、说明 mysqlslap是MySQL自带了一款数据库压力测试工具。可以用来对自己的数据库的并发能力进行模拟测试...

  • 【转转QA】ZLJ卖场-全链路压测演进

    背景 原ZLJ卖场的压测流程,是依托于阿里云PTS工具,团队自身缺乏性能测试能力自建,缺少性能分析和数据沉淀,测试...

  • 接口测试

    1、使用脚本测试接口与使用接口工具的对比 测试数据不可控使用工具测试接口,必须手动向数据库添加数据,而脚本可以直接...

  • spring简单分库分表

    数据源获取工具 接口 实现 测试 配置文件 测试方法

  • Golang Notes

    测试 Test 代码测试 Benchmark 性能测试 性能数据分析 测试代码 命令行操作 工具 Graphviz...

  • 测试报告开源工具-Allure

    背景:最近在调研测试过程数据收集相关的工具,理想的类型是自动化测试执行完成后会向该工具汇报相关质量数据--》数据在...

  • 大数据测试学习笔记之测试工具集

    大数据测试学习笔记之测试工具集 本文主要记录大数据测试的一些基本工具,以便后续用的时候能深入的去学习。 Bigbe...

网友评论

      本文标题:2020-08-08 mdtest - 元数据能力测试工具

      本文链接:https://www.haomeiwen.com/subject/yticdktx.html