【CEPH】RBD拍平原理和shell脚本测试

原理




测试数据


        三个块大小分别为10G,30G,50G


测试脚本



 

#!/bin/bash

for size in 10240 30720 51200
do
 echo "****************************************************"
 echo "test rbd ${size}M ...."
 rbd create yxjtest${size} --size ${size} --image-format 2

 for i in 1 #set snap and clone number,if set 5,change it as  " for i in 1 2 3 4 5" 
  do
   begintime=$[$(date +%s%N)/1000000]
   echo "begin time:${begintime}ms"
   
   #echo " create snap snap${size}-$i... "
   rbd snap create rbd/yxjtest${size}@snap${size}-$i
   #echo " set protect for ..."
   rbd snap protect rbd/yxjtest${size}@snap${size}-$i
   #echo "create a clone for snap ..."
   rbd clone rbd/yxjtest${size}@snap${size}-$i rbd/child${size}-$i 
   rbd info --image child${size}-$i
   
   #flatten an rbd
   rbd flatten rbd/child${size}-$i
   rbd info --image child${size}-$i

   endtime=$[$(date +%s%N)/1000000]
   echo "end time:${endtime}ms"
   let handletimes=$endtime-$begintime
   echo "handle times:${handletimes}ms"
 
  done
  rbd snap ls rbd/yxjtest$size
 
 echo "               -----------                      " 
 echo "clean beginng ..."
 for ii in  1  #set snap and clone number,if set 5,change it as  " for i in 1 2 3 4 5"
  do
   rbd snap unprotect rbd/yxjtest$size@snap${size}-${ii}
   rbd snap rm rbd/yxjtest$size@snap${size}-${ii}
   rbd rm child${size}-$ii
  done

 rbd snap purge rbd/yxjtest$size
 rbd rm yxjtest$size
  
 echo "clean finish ...."
 echo "****************************************************"
 echo -e
done


测试结果


测试10G的RBD,拍平时间为22.512秒




测试30G的RBD,拍平时间为61.793秒




测试50G的RBD,测试时间为95.764秒



发布了79 篇原创文章 · 获赞 75 · 访问量 44万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章