测试cephfs写入海量文件
阅读原文时间:2023年07月09日阅读:2

测试cephfs的写入大量文件,通过mdtest写入1K大小的文件1亿个,每个目录里面文件为1万,目录总数为1万,总文件数目就为1亿了

mdtest -C -F -L -z 4 -b 10 -I 10000 -d /mnt/1yi/ -w 1024
  • -C 只创建

  • -F 只创建文件

  • -L 只在叶子层目录创建文件

  • -z 目录深度层级为4

  • -b 每个树下面子目录为10

  • -I 指定目录里面的文件数目

  • -w指定文件大小为1K

    每层的目录数目

1,10,100,1000,10000

通过扩展属性统计

[root@lab101 #test-dir.0]# getfattr -d -m ceph.dir.* mdtest_tree.0/
# file: mdtest_tree.0/
ceph.dir.entries="10"
ceph.dir.files="0"
ceph.dir.rbytes="1000307712"
ceph.dir.rctime="1600762346.09161429944"
ceph.dir.rentries="1001670"
ceph.dir.rfiles="990559"
ceph.dir.rsubdirs="11111"
ceph.dir.subdirs="10"

参数解析

ceph.dir.entries 指定目录下面文件和目录总个数
ceph.dir.files  指定目录下面没有文件
ceph.dir.rbytes  指定目录下面的文件总文件容量为1000307712 bytes
ceph.dir.rctime  目录的访问时间戳
ceph.dir.rentries  目录下面的文件和目录的总个数
ceph.dir.rfiles  目录下面的文件的个数
ceph.dir.rsubdirs 目录下面的子目录总个数(递归统计)
ceph.dir.subdirs   目录下面的子目录的个数(一层的)

200万文件 内存3.3G

300万文件 内存4.3G

统计脚本

[root@lab101 ~]# cat getmdsmem.sh
#! /bin/sh

while [ 2 > 1 ]
do
    mem=`ps -p 49808  -o rsz|tail -n 1`
    file_num=`getfattr -d -m ceph.dir.*  /mnt/1yi/|grep ceph.dir.rfiles|cut -d "=" -f 2|cut -d "\"" -f 2`
    date=`date "+%Y%m%d%H%M%S"`
    echo $date,$file_num,$mem>>/opt/recode.txt

    sleep  2
done

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章