Here are some raw data during my tests.
This tests consisted in timing mount/umount time for ufs and zfs

We are not dowing mount/umount using the "[zfs] mount -a" because it
is a serialized mount/umount.
instead we do mount/umount in parallel, using the shell script below


For UFS, we've created 2400 fs  (which takes +2 hours), using one
metadevice, called d0, and 2400 x 100MB softpartitions on d0 (see
bottom for details)

for ZFS , 2 tests:  2400  and 10000 filesystems.
This was done on a Thumper with 500GB drives, using the same script below

enjoy.

s.
Results, using ptime:

* UFS: Mounting 2400 ufs filesystem (up to 30 mounts ops in parallel)
real     1:06.863
user       11.074
sys        53.473

*UFS: Unmount 2400 ufs filesystem (up to 30 umounts at same time)
real     1:02.891
user        9.103
sys      3:53.464

* ZFS:  mount 2400 fs (up to mounts 30 in parallel):
real       21.852
user       11.635
sys      1:00.002

* ZFS: umount 2400 fs (up to mounts 30 in parallel):
real       31.838
user       11.568
sys      1:44.680

* ZFS:  mount 10000 fs (up to mounts 30 in parallel):
real     2:21.493
user     1:00.641
sys      7:09.761

* ZFS:  umount 10000 fs (up to mounts 30 in parallel):
real     5:00.628
user       50.395
sys     17:45.306


--------------------------------------------------------------------------------------------
#!/bin/sh
i=1

while [ $i -le 10000 ]
do

if [ `pgrep mount | wc -l|awk '{print $1}'` -gt 30 ]; then
       printf "$i "
       sleep 1
fi
# Activate one line only
#From here
#(yes | newfs /dev/md/rdsk/d$i; echo "$i ")&
#(mkdir /export/d$i; echo $i)&
#(zfs create tank6/d$i && zfs set mountpoint=/export/d$i tank6/d$i  &&
printf "." )&
(zfs umount /export/d$i && printf ".") &
#(zfs mount tank6/d$i && printf ".") &
#(umount /export/d$i && printf ".") &
#(mount /dev/md/dsk/d$i /export/d$i && printf ".") &
#echo " /dev/md/dsk/d$i       /dev/md/rdsk/d$i      /export/d$i
ufs     1       yes      -" >> /tmp/bb
#To here

i=`expr $i + 1`
done
--------------------------------------------------------------------------------------------
Create metadevice d0:
# metainit d0 1 8 c4t0d0s0 c4t1d0s0 c4t2d0s0 c4t3d0s0 c4t4d0s0
c4t5d0s0 c4t6d0s0 c4t7d0s0

create soft partitions: d1->d2400 (takes 2 hours, not paralellized)
# metainit dXXXX -p d0 100m

zfs fs creation:
-zpool create -f -m none  tank6   c7t{0,1,2,3,4,5,6,7}d0
-for i from 1 -> 2400, do following:
zfs create tank6/d$i && zfs set mountpoint=/export/d$i tank6/d$i
- takes 3 minutes for 2400 fs
- takes 5.5 minutes for 10000fs
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to