【HPC存储性能测试】02-ior带宽性能测试

文章目录

一、前言

ior introduction | github hpc ior

IOR 测试工具使用 POSIX、 MPIIO 或 HDF5接口对并行文件系统进行基准测试

通常使用IOR测试工具时,一般会配合使用MPI程序通过多节点并行测试文件系统的带宽性能

序号 测试工具 版本号 发布时间
1 IOR 2.10.3 2010-08-02

二、软件安装

1、安装依赖

  • 配置国内镜像源

    yum install wget -y
    mv /etc/yum.repos.d/ /etc/yum.repos.d-bak/
    mkdir /etc/yum.repos.d/
    wget http://mirrors.aliyun.com/repo/Centos-7.repo -P /etc/yum.repos.d/
    wget http://mirrors.aliyun.com/repo/epel-7.repo -P /etc/yum.repos.d/
    yum makecache

  • 安装openmpi软件包

    yum install openmpi openmpi-devel -y

  • 配置环境变量,添加bin环境和库环境

    echo "export PATH=$PATH:/usr/lib64/openmpi/bin/" >> /root/.bashrc
    echo "export LD_LIBRARY_PATH=/usr/(local/)lib/openmpi:$LD_LIBRARY_PATH" >> /root/.bashrc
    echo "export LD_LIBRARY_PATH=/usr/(local/)lib:$LD_LIBRARY_PATH" >> /root/.bashrc
    source /root/.bashrc

2、安装软件

三、参数说明

复制代码
[ mpirun [ -allow-run-as-root ]  [ -host <host1,host2> | -hostfile <hostfile-name> ] [-np <thread-num>] [--mca btl_tcp_if_include <netcard-name>] [-mca plm_rsh_no_tree_spawn 1] ] ./IOR -b <file-size> -t <transfer-size> -w -r -g -F -e -k -B -o <file-path>

1、mpirun参数

  • -allow-run-as-root
    mpirun默认不允许使用root用户运行,如需root用户执行指令则需要加此参数

  • -host <host1,host2> | -hostfile <hostfile-name>
    mpirun指定多个客户端并行运行指令,有两种指定客户端方式

  • -host <host1,host2> :通过命令指定运行客户端,如指定node93、node94客户端运行指令,则指定配置为-host node93,node94,默认每个客户端运行线程数为1,如需指定更多线程,可以使用方式二

  • -hostfile :通过文件指定运行客户端,如指定node93、node94、node95客户端运行执行,则指定配置为-hostfile ./hosts,hosts文件信息如下,其中slots参数用于指定客户端线程数(当不指定时默认为1)
    注:线程数np与hostfile中所有节点的slots参数值之和不一定要相等,程序运行会根据hostfile文件一行行调用客户端对应线程,若前面几个客户端slots总数可以满足当前线程数需求,则后面的客户端将不会进行运行调用(参考示例如下,如线程数np为5,则只会在node93、node94运行指令)

    node93 slots=1
    node94 slots=4
    node95 slots=4

  • np:总的线程数

  • --mca btl_tcp_if_include :指定运行指令网卡名称,如指定使用eth0网卡,则指定配置为--mca btl_tcp_if_include eth0

  • --mca plm_rsh_no_tree_spawn 1:用于配置MPI并行作业启动方式,强制使用非树形模式启动进程(每个进程直接通过rsh远程shell启动,而不是通过中间节点),可以解决在某些网络配置下启动MPI作业遇到的问题

2、ior参数

  • -b :指定每个线程写入文件大小,一般单个客户端共写入文件大小为内存的两倍,假设客户端共有n个,客户端内存为fG,此处-b=(n * f * 2)/ np
  • -t:指传输块大小,此处示例为1m(TranserSize),调优可改为2m或是4m
  • -w:指进行写测试(WriteFile)
  • -r:指进行读测试(ReadFile),与-w组合,先写后读
  • -g:intraTestBarriers -- use barriers between open, write/read, and close,固定参数
  • -F:FilePerProc模式 --file-per-process,指每个线程独立写一个文件,否是所有线程都写到一个大的文件中,固定参数
  • -e:fsync --perform fsync upon POSIX write close,把写数据同步到硬盘(fsync)
  • -k:保留测试文件(KeepFile),测试完保留文件,不会删除
  • -B:用于POSIX接口,使用直接I/O,不使用I/O缓存
  • -o:指定测试文件路径(testfile),IOR在FilePerProc模式下会自动在文件后生成数据,保证每个线程写一个文件

四、测试说明

参考示例如下,将分布式存储系统目录通过posix协议挂载到3个客户端节点/mnt目录下,3个客户端节点均已安装好openmpi环境,且可正常运行IOR程序,3个客户端节点内存均为512GB

  • 客户端节点修改/home/mpihosts文件配置如下,将IOR二进制文件拷贝到/home/目录下

    client1 slots=4
    client2 slots=4
    client3 slots=4

  • 客户端节点在/home目录下运行测试命令如下
    指定使用eth2网卡,使用3个客户端测试(每个客户端起4线程,总共12个线程,每个线程写256g文件),测试块大小为1MB,测试模型为写和读

    mpirun -allow-run-as-root --mca btl_tcp_if_include eth2 --mca plm_rsh_no_tree_spawn 1 -hostfile /home/mpihosts -np 12 ./IOR -b 256g -t 1024k -w -r -g -F -e -k -B -o /mnt/iortest

  • 执行测试完成后,记录存储系统写性能(Max Write:x MiB/sec)和读性能(Max Read:x MiB/sec)测试结果

相关推荐
Luxf06 个月前
【商用存储】希捷磁盘阵列部署实践
商用存储·存储相关