section 1. a zseries linux file system test script

24
© Copyright IBM Corp. 2004 1 Section 1. A zSeries Linux file system test script 1.1 Overview I was presented with a question regarding disk space efficiency, small files and block sizes with ext3 file systems on zSeries Linux. I decided to write a simple script to test how many files could be written to two ext3 file systems of the same size with block sizes of 1024 and 4096. I figured it would take a couple of hours. Then I decided to add the Reiser file system and JFS while I was at it because it should be quick to just add a couple more tests. I asked a question on the linux-390 list server about 1024 byte block sizes and a lot of other considerations were discussed. Then I decided to add testing copying different file sizes - 20, 200 and 2000 bytes, given that different file sizes will behave differently. Then I decided to add using FCP disks instead of the more common ECKD. Then I decided to test read and write performance, in addition to disk space efficiency. Now this had turned into more than a couple of hour job. In fact, the script ran for more than half a day. But hopefully the results are worth the effort. 1.2 Setup The minidisk setup is more traditional than setting up the FCP disk. I created four 500 cylinder minidisks on a z/VM Linux userid, all from the same 3390-3 DASD. The directory statements in the USER DIRECT file are as follow: MDISK 103 3390 0510 0500 VM5308 MR LINUX390 LINUX390 LINUX390 MDISK 104 3390 1010 0500 VM5308 MR LINUX390 LINUX390 LINUX390 MDISK 105 3390 1510 0500 VM5308 MR LINUX390 LINUX390 LINUX390 MDISK 106 3390 2010 0500 VM5308 MR LINUX390 LINUX390 LINUX390 FCP disks are new to zSeries. I asked the hardware guys for this and they said, "Yes we believe that can be done". Five months later I finally got my disks. To be fair it is a complicated setup and new to S/390 guys. The following script loads the appropriate modules and the specific FCP-accessed disk. Details are outside the scope of this paper. # cat usefcp #!/bin/bash echo "inserting all FCP/SCSI modules" rmmod zfcp modprobe qdio modprobe scsi_mod insmod zfcp map="\ 0x300 0x01:0x20010060451618C5 0x00:0x0001000000000000" modprobe sd_mod modprobe st While the fdasd command is used to partition ECKD DASD, the fdisk command is used to partition the FCP disks. I wanted to create them the same size. The assumption used calculates the number of bytes on DASD before issuing the dasdfmt command: 500 cyls * 15 trks/cyl * 56664 bytes/trk = 424980000bytes = 405.3MB So the value +405m is used with the fdisk command to create 4 primary partitons:

Upload: others

Post on 03-Feb-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Section 1. A zSeries Linux file system test script

© Copyright IBM Corp. 2004 1

Section 1. A zSeries Linux file system test script

1.1 Overview

I was presented with a question regarding disk space efficiency, small files and block sizes with ext3 file systems on zSeries Linux. I decided to write a simple script to test how many files could be written to two ext3 file systems of the same size with block sizes of 1024 and 4096. I figured it would take a couple of hours.

Then I decided to add the Reiser file system and JFS while I was at it because it should be quick to just add a couple more tests.

I asked a question on the linux-390 list server about 1024 byte block sizes and a lot of other considerations were discussed.

Then I decided to add testing copying different file sizes - 20, 200 and 2000 bytes, given that different file sizes will behave differently.

Then I decided to add using FCP disks instead of the more common ECKD.

Then I decided to test read and write performance, in addition to disk space efficiency.

Now this had turned into more than a couple of hour job. In fact, the script ran for more than half a day. But hopefully the results are worth the effort.

1.2 Setup

The minidisk setup is more traditional than setting up the FCP disk. I created four 500 cylinder minidisks on a z/VM Linux userid, all from the same 3390-3 DASD. The directory statements in the USER DIRECT file are as follow:

MDISK 103 3390 0510 0500 VM5308 MR LINUX390 LINUX390 LINUX390MDISK 104 3390 1010 0500 VM5308 MR LINUX390 LINUX390 LINUX390MDISK 105 3390 1510 0500 VM5308 MR LINUX390 LINUX390 LINUX390MDISK 106 3390 2010 0500 VM5308 MR LINUX390 LINUX390 LINUX390

FCP disks are new to zSeries. I asked the hardware guys for this and they said, "Yes we believe that can be done". Five months later I finally got my disks. To be fair it is a complicated setup and new to S/390 guys. The following script loads the appropriate modules and the specific FCP-accessed disk. Details are outside the scope of this paper.

# cat usefcp#!/bin/bashecho "inserting all FCP/SCSI modules"rmmod zfcpmodprobe qdiomodprobe scsi_modinsmod zfcp map="\0x300 0x01:0x20010060451618C5 0x00:0x0001000000000000"modprobe sd_modmodprobe st

While the fdasd command is used to partition ECKD DASD, the fdisk command is used to partition the FCP disks. I wanted to create them the same size. The assumption used calculates the number of bytes on DASD before issuing the dasdfmt command:

500 cyls * 15 trks/cyl * 56664 bytes/trk = 424980000bytes = 405.3MB

So the value +405m is used with the fdisk command to create 4 primary partitons:

Page 2: Section 1. A zSeries Linux file system test script

2 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

fdiskCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 1First cylinder (1-15258, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-15258, default 15258): +405m...Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 4First cylinder (1219-15258, default 1219):Using default value 1219Last cylinder or +size or +sizeM or +sizeK (1219-15258, default 15258): +405m

The new partition table is viewed with the p subcommand:

Command (m for help): p

Disk /dev/sda: 64 heads, 32 sectors, 15258 cylindersUnits = cylinders of 2048 * 512 bytes

Device Boot Start End Blocks Id System/dev/sda1 1 406 415728 83 Linux/dev/sda2 407 812 415744 83 Linux/dev/sda3 813 1218 415744 83 Linux/dev/sda4 1219 1624 415744 83 Linux

Now the partition table is written with the w subcommand:

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.Syncing disks.

1.3 Assumptions

There are 8 file systems tested - a set of 4 using conventional DASD and a set of 4 using the newer FCP access method.

File system type Block size Hardware type

ext3 4096 DASD

Page 3: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 3

1.4 The script

Here the script is described. If you want to skip the details and go straight to the results see (xref). First global variables are defined for the devices, both DASD and FCP, and the file system mount points. Also, a variable is defined for the temporary file that will be copied many times.

#!/bin/bash# script to test disk utilization, read/write performance of file systems

# define variables for devices, file system mount points and filesDEV1=/dev/dasdd1DEV2=/dev/dasde1DEV3=/dev/dasdf1DEV4=/dev/dasdg1DEV5=/dev/sda1DEV6=/dev/sda2DEV7=/dev/sda3DEV8=/dev/sda4FS1=/ext3-4kFS2=/ext3-1kFS3=/reiser-4kFS4=/jfs-4kFS5=/ext3-4k-FCPFS6=/ext3-1k-FCPFS7=/reiser-4k-FCPFS8=/jfs-4k-FCPTMPF=/tmp/foo

The function header is defined to print a heading in the output file.

header() { echo "" echo "$1 byte files" echo "==============" }

The function makeDirectories will create empty mount points if they are not already defined.

makeDirectories() {

ext3 1024 DASD

Reiser 4096 DASD

JFS 4096 DASD

ext3 4096 FCP

ext3 1024 FCP

Reiser 4096 FCP

JFS 4096 FCP

File system type Block size Hardware type

Page 4: Section 1. A zSeries Linux file system test script

4 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

if [ ! -d $FS1 ]; then mkdir $FS1; fi if [ ! -d $FS2 ]; then mkdir $FS2; fi if [ ! -d $FS3 ]; then mkdir $FS3; fi if [ ! -d $FS4 ]; then mkdir $FS4; fi if [ ! -d $FS5 ]; then mkdir $FS5; fi if [ ! -d $FS6 ]; then mkdir $FS6; fi if [ ! -d $FS7 ]; then mkdir $FS7; fi if [ ! -d $FS8 ]; then mkdir $FS8; fi }

The function unmountFileSystems will unmount any mounted file systems. TODO: test for a bad rc - if a process has one of these as its current directory,

unmountFileSystems() { umount $FS1 umount $FS2 umount $FS3 umount $FS4 umount $FS5 umount $FS6 umount $FS7 umount $FS8 } 8

The function makeFileSystems makes 8 file systems out of the 8 devices. The flag -i 1024 is used with the mke2fs command with ext3 file systems that have a block size of 1024 so as to give them more inodes.

makeFileSystems() { echo "y" > /tmp/yes mke2fs -j -m 0 -b 4096 $DEV1 > /dev/null 2>&1 if [ $? != 0 ]; then echo "1!"; exit; fi mke2fs -j -m 0 -b 1024 -i 1024 $DEV2 > /dev/null 2>&1 if [ $? != 0 ]; then echo "2!"; exit; fi mkreiserfs $DEV3 < /tmp/yes > /dev/null 2>&1 if [ $? != 0 ]; then echo "3!"; exit; fi mkfs.jfs $DEV4 < /tmp/yes > /dev/null 2>&1 if [ $? != 0 ]; then echo "4!"; exit; fi mke2fs -j -m 0 -b 1024 -i 1024 $DEV5 > /dev/null 2>&1 if [ $? != 0 ]; then echo "5!"; exit; fi mke2fs -j -m 0 $DEV6 > /dev/null 2>&1 if [ $? != 0 ]; then echo "6!"; exit; fi mkreiserfs $DEV7 < /tmp/yes > /dev/null 2>&1 if [ $? != 0 ]; then echo "7!"; exit; fi mkfs.jfs $DEV8 < /tmp/yes > /dev/null 2>&1 if [ $? != 0 ]; then echo "8!"; exit; fi rm /tmp/yes }

The function mountFileSystems uses the mount command to mount the 8 file systems.

mountFileSystems() { mount $DEV1 $FS1 if [ $? != 0 ]; then echo "9!"; exit; fi mount $DEV2 $FS2 if [ $? != 0 ]; then echo "a!"; exit; fi

Page 5: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 5

mount $DEV3 $FS3 if [ $? != 0 ]; then echo "b!"; exit; fi mount $DEV4 $FS4 if [ $? != 0 ]; then echo "c!"; exit; fi mount $DEV5 $FS5 if [ $? != 0 ]; then echo "d!"; exit; fi mount $DEV6 $FS6 if [ $? != 0 ]; then echo "e!"; exit; fi mount $DEV7 $FS7 if [ $? != 0 ]; then echo "f!"; exit; fi mount $DEV8 $FS8 if [ $? != 0 ]; then echo "g!"; exit; fi }

The function copyIn copies the temporary files to the directory specified in the first argument ($1) for the number specified in the second argument ($2).

copyIn() { for ((i=0; $i<$2; i++)) do cp $TMPF $1/$i.txt if [ $? != 0 ]; then return; fi done }

The function countFiles counts the number of files after in a file system. This is important after the file systems have been filled to the maximum.

countFiles() { echo "Number of files:" cd $FS1 numFiles=`ls -l | wc | cut -b 1-7` echo "\"ext3\", $numFiles" cd $FS2 numFiles=`ls -l | wc | cut -b 1-7` echo "\"ext3-1k\", $numFiles" cd $FS3 numFiles=`ls -l | wc | cut -b 1-7` echo "\"reiser\", $numFiles" cd $FS4 numFiles=`ls -l | wc | cut -b 1-7` echo "\"JFS\", $numFiles" cd $FS5 numFiles=`ls -l | wc | cut -b 1-7` echo "\"ext3-FCP\", $numFiles" cd $FS6 numFiles=`ls -l | wc | cut -b 1-7` echo "\"ext3-1k-FCP\", $numFiles" cd $FS7 numFiles=`ls -l | wc | cut -b 1-7` echo "\"reiser-FCP\", $numFiles" cd $FS8 numFiles=`ls -l | wc | cut -b 1-7` echo "\"JFS-FCP\", $numFiles" cd /root/ }

Page 6: Section 1. A zSeries Linux file system test script

6 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

The function testDiskSpaceEfficiency continues to copy files until the file system is filled for each of the 8 file systems. The functions unmountFileSystem, makeFileSystem and mountFileSystems are first called to start with clean file systems. The copyIn function is called for each file system for two million iterations, though each file system will fill up much earlier. The time command is used to track the time it takes to fill up each file system.

testDiskSpaceEfficiency()# arg1 - number of 200 byte records in file to be copied { unmountFileSystems makeFileSystems mountFileSystems

echo "File systems before copying:" df | grep -

dd if=/dev/zero of=$TMPF bs=200 count=$1 time copyIn $FS1 2000000 time copyIn $FS2 2000000 time copyIn $FS3 2000000 time copyIn $FS4 2000000 time copyIn $FS5 2000000 time copyIn $FS6 2000000 time copyIn $FS7 2000000 time copyIn $FS8 2000000 rm $TMPF echo "File systems after copying:" df | grep - countFiles

The function testWrite

The function copyOut is called to test the read performance of file systems. The output is simply copied to the null device /dev/null.

copyOut() { for ((i=0; $i<$2; i++)) do cp $1/$i.txt /dev/null if [ $? != 0 ]; then return; fi done }

The function testRead is called

testRead()# arg1 - number of 200 byte records in file to be copied { echo "File systems before copying:" df | grep - dd if=/dev/zero of=$TMPF bs=200 count=$1 time copyOut $FS1 $2 time copyOut $FS2 $2 time copyOut $FS3 $2 time copyOut $FS4 $2

Page 7: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 7

time copyOut $FS5 $2 time copyOut $FS6 $2 time copyOut $FS7 $2 time copyOut $FS8 $2 rm $TMPF echo "File systems after copying:" df | grep - }

Now that all the functions are defined, it’s time to get to work

# main()dateecho "TESTING DISK SPACE EFFICIENCY"header 200testWrite 1 2000000header 2000testWrite 10 2000000header 20000testWrite 100 2000000header 200000testWrite 1000 2000000echo ""echo "TESTING WRITE AND READ PERFORMANCE"header 200testWrite 1 78000testRead 1 78000header 2000testWrite 10 78000testRead 10 78000header 20000testWrite 100 10000testRead 100 10000header 200000testWrite 1000 1000testRead 1000 1000date

1.5 The output

The script is run via the nohup command that allows you to log off and still continue the command:

# nohup testfs &

Here is the output

1.5.1 Testing disk space efficiencyTESTING DISK SPACE EFFICIENCY

200 byte files==============umount: /ext3-4k: not mountedumount: /ext3-1k: not mountedumount: /reiser-4k: not mountedumount: /jfs-4k: not mounted

Page 8: Section 1. A zSeries Linux file system test script

8 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

umount: /ext3-4k-FCP: not mountedumount: /ext3-1k-FCP: not mountedumount: /reiser-4k-FCP: not mountedumount: /jfs-4k-FCP: not mountedFile systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP

Figure 1. Basics

What is worth noting here - ext3 with 1Kb block size on DASD loses almost half. TODO: further analysis (why is ext3-4k almost identical between DASD and FCP?)

1+0 records in1+0 records outcp: writing `/ext3-4k/82649.txt': No space left on device

real 17m50.813suser 1m20.490ssys 15m57.300scp: writing `/ext3-1k/208230.txt': No space left on device

real 110m26.526suser 3m24.110ssys 106m21.950scp: writing `/reiser-4k/972875.txt': No space left on device

real 76m10.003suser 15m34.180ssys 25m57.780scp: writing `/jfs-4k/78229.txt': No space left on device

real 3m24.335suser 1m17.430s

ext3ext3-1k

reiserJFS

ext3-FCPext3-1k-FCP

reiser-FCPJFS-FCP

X-Axis

0

100

200

300

400

500

Tho

usan

ds

Y-A

xis kB in file system

kB used

File system

Page 9: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 9

sys 1m43.030scp: writing `/ext3-4k-FCP/348568.txt': No space left on device

real 312m38.850suser 5m48.080ssys 305m27.160scp: cannot create regular file `/ext3-1k-FCP/104029.txt': No space left on device

real 30m40.516suser 1m40.960ssys 28m38.130scp: writing `/reiser-4k-FCP/1142606.txt': No space left on device

real 62m15.803suser 18m23.040ssys 30m13.160scp: writing `/jfs-4k-FCP/90445.txt': No space left on device

real 3m45.086suser 1m28.710ssys 2m5.300sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 348608 0 100% /ext3-4k/dev/dasde1 216417 216417 0 100% /ext3-1k/dev/dasdf1 359888 357892 1996 100% /reiser-4k/dev/dasdg1 357640 357640 0 100% /jfs-4k/dev/sda1 363629 363629 0 100% /ext3-4k-FCP/dev/sda2 402609 114276 288333 29% /ext3-1k-FCP/dev/sda3 415724 413728 1996 100% /reiser-4k-FCP/dev/sda4 413476 413476 0 100% /jfs-4k-FCPNumber of files:"ext3", 82652"ext3-1k", 208233"reiser", 972877"JFS", 78231"ext3-FCP", 348571"ext3-1k-FCP", 104031"reiser-FCP", 1142608"JFS-FCP", 90447

Page 10: Section 1. A zSeries Linux file system test script

10 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

Figure 2. Number of 200 byte files created

Analysis:

2000 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP10+0 records in10+0 records outcp: writing `/ext3-4k/82649.txt': No space left on device

real 17m53.203suser 1m20.850ssys 15m51.900scp: writing `/ext3-1k/105130.txt': No space left on device

real 32m46.566suser 1m44.510ssys 30m12.240scp: writing `/reiser-4k/153257.txt': No space left on device

real 7m42.402suser 2m26.530ssys 4m6.310scp: writing `/jfs-4k/78229.txt': No space left on device

real 3m26.572suser 1m16.800s

ext3ext3-1k

reiserJFS

ext3-FCPext3-1k-FCP

reiser-FCPJFS-FCP

X-Axis

0

200

400

600

800

1000

1200

Tho

usan

ds

Y-A

xis

Number of 200B files

File system

Page 11: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 11

sys 1m47.510scp: writing `/ext3-4k-FCP/175982.txt': No space left on device

real 80m29.453suser 2m56.870ssys 76m49.820scp: cannot create regular file `/ext3-1k-FCP/104029.txt': No space left on device

real 30m44.973suser 1m42.420ssys 28m40.970scp: writing `/reiser-4k-FCP/179418.txt': No space left on device

real 8m6.927suser 2m53.910ssys 4m42.310scp: writing `/jfs-4k-FCP/90445.txt': No space left on device

real 3m47.631suser 1m29.290ssys 2m6.950sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 348608 0 100% /ext3-4k/dev/dasde1 216417 216417 0 100% /ext3-1k/dev/dasdf1 359888 357892 1996 100% /reiser-4k/dev/dasdg1 357640 357640 0 100% /jfs-4k/dev/sda1 363629 363628 1 100% /ext3-4k-FCP/dev/sda2 402609 218305 184304 55% /ext3-1k-FCP/dev/sda3 415724 413728 1996 100% /reiser-4k-FCP/dev/sda4 413476 413476 0 100% /jfs-4k-FCPNumber of files:"ext3", 82652"ext3-1k", 105133"reiser", 153259"JFS", 78231"ext3-FCP", 175985"ext3-1k-FCP", 104031"reiser-FCP", 179420"JFS-FCP", 90447

Page 12: Section 1. A zSeries Linux file system test script

12 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

Figure 3. Number of 2000 byte files created

20000 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP100+0 records in100+0 records outcp: writing `/ext3-4k/16594.txt': No space left on device

real 2m14.093suser 0m15.580ssys 0m53.190scp: writing `/ext3-1k/10101.txt': No space left on device

real 2m11.995suser 0m9.370ssys 0m31.130scp: writing `/reiser-4k/16137.txt': No space left on device

real 0m41.908suser 0m15.590ssys 0m26.320scp: writing `/jfs-4k/17378.txt': No space left on device

real 1m56.080suser 0m16.840ssys 0m24.320scp: writing `/ext3-4k-FCP/16909.txt': No space left on device

real 1m43.500s

ext3ext3-1k

reiserJFS

ext3-FCPext3-1k-FCP

reiser-FCPJFS-FCP

X-Axis

0

50

100

150

200

Tho

usan

ds

Y-A

xis

Number of 2000B files

File system

Page 13: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 13

user 0m16.320ssys 1m5.890scp: writing `/ext3-1k-FCP/18763.txt': No space left on device

real 2m1.520suser 0m18.590ssys 1m18.080scp: writing `/reiser-4k-FCP/18909.txt': No space left on device

real 0m50.162suser 0m17.710ssys 0m32.360scp: writing `/jfs-4k-FCP/20092.txt': No space left on device

real 1m4.290suser 0m19.390ssys 0m30.080sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 348608 0 100% /ext3-4k/dev/dasde1 216417 216415 2 100% /ext3-1k/dev/dasdf1 359888 357892 1996 100% /reiser-4k/dev/dasdg1 357640 357640 0 100% /jfs-4k/dev/sda1 363629 363626 3 100% /ext3-4k-FCP/dev/sda2 402609 402605 4 100% /ext3-1k-FCP/dev/sda3 415724 413728 1996 100% /reiser-4k-FCP/dev/sda4 413476 413476 0 100% /jfs-4k-FCPNumber of files:"ext3", 16597"ext3-1k", 10104"reiser", 16139"JFS", 17380"ext3-FCP", 16912"ext3-1k-FCP", 18766"reiser-FCP", 18911"JFS-FCP", 20094

Figure 4. Number of 20000 byte files created

ext3ext3-1k

reiserJFS

ext3-FCPext3-1k-FCP

reiser-FCPJFS-FCP

X-Axis

0

5

10

15

20

25

Tho

usan

ds

Y-A

xis

Number of 20000B files

File system

Page 14: Section 1. A zSeries Linux file system test script

14 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

200000 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP1000+0 records in1000+0 records outcp: writing `/ext3-4k/1660.txt': No space left on device

real 0m32.383suser 0m1.570ssys 0m4.770scp: writing `/ext3-1k/1077.txt': No space left on device

real 0m53.881suser 0m1.070ssys 0m5.210scp: writing `/reiser-4k/1655.txt': No space left on device

real 0m16.198suser 0m1.630ssys 0m4.940scp: writing `/jfs-4k/1818.txt': No space left on device

real 0m49.541suser 0m2.020ssys 0m3.380scp: writing `/ext3-4k-FCP/1803.txt': No space left on device

real 0m21.603suser 0m1.700ssys 0m9.100scp: writing `/ext3-1k-FCP/2001.txt': No space left on device

real 0m23.131suser 0m2.000ssys 0m10.040scp: writing `/reiser-4k-FCP/1940.txt': No space left on device

real 0m17.547suser 0m1.880ssys 0m6.400scp: writing `/jfs-4k-FCP/2102.txt': No space left on device

real 0m23.317suser 0m1.930ssys 0m4.710sFile systems after copying:

Page 15: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 15

Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 348608 0 100% /ext3-4k/dev/dasde1 216417 216414 3 100% /ext3-1k/dev/dasdf1 359888 357892 1996 100% /reiser-4k/dev/dasdg1 357640 357640 0 100% /jfs-4k/dev/sda1 363629 363628 1 100% /ext3-4k-FCP/dev/sda2 402609 402609 0 100% /ext3-1k-FCP/dev/sda3 415724 413728 1996 100% /reiser-4k-FCP/dev/sda4 413476 413476 0 100% /jfs-4k-FCPNumber of files:"ext3", 1663"ext3-1k", 1080"reiser", 1657"JFS", 1820"ext3-FCP", 1806"ext3-1k-FCP", 2004"reiser-FCP", 1942"JFS-FCP", 2104

Figure 5. Number of 200000 byte files created

1.5.2 Testing Read and Write performanceTODO: analysis

200 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP1+0 records in1+0 records out

ext3ext3-1k

reiserJFS

ext3-FCPext3-1k-FCP

reiser-FCPJFS-FCP

X-Axis

0

500

1000

1500

2000

2500

Y-A

xis

Number of 20000B files

File system

Page 16: Section 1. A zSeries Linux file system test script

16 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

real 15m51.512suser 1m15.320ssys 14m20.410s

real 18m36.300suser 1m18.670ssys 16m58.240s

real 3m17.081suser 1m15.350ssys 2m0.230s

real 3m28.344suser 1m16.720ssys 1m49.040s

real 18m38.050suser 1m17.190ssys 17m5.720s

real 18m18.255suser 1m17.150ssys 16m46.310s

real 3m13.821suser 1m15.870ssys 1m57.210scp: cannot create regular file `/jfs-4k-FCP/65463.txt': Input/output error

real 2m46.319suser 1m5.050ssys 1m33.280sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k/dev/dasde1 216417 83623 132794 39% /ext3-1k/dev/dasdf1 359888 58396 301492 17% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 87735 275894 25% /ext3-4k-FCP/dev/sda2 402609 87735 314874 22% /ext3-1k-FCP/dev/sda3 415724 58396 357328 15% /reiser-4k-FCP/dev/sda4 413476 299304 114172 73% /jfs-4k-FCPNumber of files:"ext3", 78002"ext3-1k", 78002"reiser", 78001"JFS", 78001"ext3-FCP", 78002"ext3-1k-FCP", 78002"reiser-FCP", 78001"JFS-FCP", 61587File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k

Page 17: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 17

/dev/dasde1 216417 83623 132794 39% /ext3-1k/dev/dasdf1 359888 58396 301492 17% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 87735 275894 25% /ext3-4k-FCP/dev/sda2 402609 87735 314874 22% /ext3-1k-FCP/dev/sda3 415724 58396 357328 15% /reiser-4k-FCP/dev/sda4 413476 299304 114172 73% /jfs-4k-FCP1+0 records in1+0 records out

real 3m41.969suser 1m15.080ssys 1m44.560s

real 3m18.726suser 1m14.270ssys 1m45.530s

real 2m56.889suser 1m14.500ssys 1m39.650s

real 3m36.493suser 1m14.930ssys 1m45.050s

real 4m46.980suser 1m13.970ssys 1m49.400s

real 4m46.831suser 1m14.890ssys 1m49.180s

real 2m57.360suser 1m15.690ssys 1m40.070scp: cannot stat `/jfs-4k-FCP/655.txt': Input/output error

real 0m3.368suser 0m0.520ssys 0m0.830sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k/dev/dasde1 216417 83623 132794 39% /ext3-1k/dev/dasdf1 359888 58396 301492 17% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 87735 275894 25% /ext3-4k-FCP/dev/sda2 402609 87735 314874 22% /ext3-1k-FCP/dev/sda3 415724 58396 357328 15% /reiser-4k-FCP/dev/sda4 413476 299304 114172 73% /jfs-4k-FCP

2000 byte files==============

Page 18: Section 1. A zSeries Linux file system test script

18 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP10+0 records in10+0 records out

real 15m50.859suser 1m17.540ssys 14m17.260s

real 19m6.036suser 1m17.460ssys 17m12.660s

real 3m39.234suser 1m16.930ssys 2m1.390s

real 3m26.246suser 1m17.060ssys 1m46.880s

real 18m40.442suser 1m16.910ssys 17m6.210s

real 18m19.309suser 1m19.800ssys 16m41.560s

real 3m24.242suser 1m16.780ssys 2m1.470s

real 3m16.466suser 1m17.550ssys 1m49.590sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k/dev/dasde1 216417 161623 54794 75% /ext3-1k/dev/dasdf1 359888 197908 161980 55% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 165735 197894 46% /ext3-4k-FCP/dev/sda2 402609 165735 236874 42% /ext3-1k-FCP/dev/sda3 415724 197908 217816 48% /reiser-4k-FCP/dev/sda4 413476 356604 56872 87% /jfs-4k-FCPNumber of files:

Page 19: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 19

"ext3", 78002"ext3-1k", 78002"reiser", 78001"JFS", 78001"ext3-FCP", 78002"ext3-1k-FCP", 78002"reiser-FCP", 78001"JFS-FCP", 78001File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k/dev/dasde1 216417 161623 54794 75% /ext3-1k/dev/dasdf1 359888 197908 161980 55% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 165735 197894 46% /ext3-4k-FCP/dev/sda2 402609 165735 236874 42% /ext3-1k-FCP/dev/sda3 415724 197908 217816 48% /reiser-4k-FCP/dev/sda4 413476 356604 56872 87% /jfs-4k-FCP10+0 records in10+0 records out

real 3m40.535suser 1m15.580ssys 1m44.470s

real 3m38.759suser 1m14.890ssys 1m46.110s

real 3m25.990suser 1m16.190ssys 1m38.880s

real 3m36.419suser 1m16.660ssys 1m43.190s

real 4m58.394suser 1m14.500ssys 1m43.830s

real 4m58.074suser 1m18.380ssys 1m43.860s

real 3m17.853suser 1m18.900ssys 1m45.270s

real 5m6.057suser 1m20.760ssys 1m41.230sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 329920 18688 95% /ext3-4k

Page 20: Section 1. A zSeries Linux file system test script

20 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

/dev/dasde1 216417 161623 54794 75% /ext3-1k/dev/dasdf1 359888 197908 161980 55% /reiser-4k/dev/dasdg1 357640 356596 1044 100% /jfs-4k/dev/sda1 363629 165735 197894 46% /ext3-4k-FCP/dev/sda2 402609 165735 236874 42% /ext3-1k-FCP/dev/sda3 415724 197908 217816 48% /reiser-4k-FCP/dev/sda4 413476 356604 56872 87% /jfs-4k-FCP

20000 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP100+0 records in100+0 records out

real 0m55.637suser 0m9.770ssys 0m26.700s

real 1m55.843suser 0m10.030ssys 0m30.720s

real 0m26.281suser 0m9.550ssys 0m16.720s

real 0m52.113suser 0m9.940ssys 0m14.160s

real 0m56.091suser 0m10.090ssys 0m31.550s

real 0m54.495suser 0m10.110ssys 0m31.460s

real 0m26.507suser 0m9.730ssys 0m16.760s

real 0m29.186suser 0m9.890ssys 0m15.310sFile systems after copying:

Page 21: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 21

Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216588 132020 63% /ext3-4k/dev/dasde1 216417 214284 2133 100% /ext3-1k/dev/dasdf1 359888 234216 125672 66% /reiser-4k/dev/dasdg1 357640 205864 151776 58% /jfs-4k/dev/sda1 363629 218396 145233 61% /ext3-4k-FCP/dev/sda2 402609 218396 184213 55% /ext3-1k-FCP/dev/sda3 415724 234216 181508 57% /reiser-4k-FCP/dev/sda4 413476 205872 207604 50% /jfs-4k-FCPNumber of files:"ext3", 10002"ext3-1k", 10002"reiser", 10001"JFS", 10001"ext3-FCP", 10002"ext3-1k-FCP", 10002"reiser-FCP", 10001"JFS-FCP", 10001File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216588 132020 63% /ext3-4k/dev/dasde1 216417 214284 2133 100% /ext3-1k/dev/dasdf1 359888 234216 125672 66% /reiser-4k/dev/dasdg1 357640 205864 151776 58% /jfs-4k/dev/sda1 363629 218396 145233 61% /ext3-4k-FCP/dev/sda2 402609 218396 184213 55% /ext3-1k-FCP/dev/sda3 415724 234216 181508 57% /reiser-4k-FCP/dev/sda4 413476 205872 207604 50% /jfs-4k-FCP100+0 records in100+0 records out

real 0m49.817suser 0m9.510ssys 0m14.360s

real 1m23.418suser 0m9.560ssys 0m15.420s

real 0m51.243suser 0m9.800ssys 0m15.910s

real 0m50.787suser 0m9.540ssys 0m14.220s

real 1m11.101suser 0m10.030ssys 0m15.270s

real 1m11.017suser 0m10.190ssys 0m15.260s

Page 22: Section 1. A zSeries Linux file system test script

22 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

real 0m58.168suser 0m9.840ssys 0m15.720s

real 0m57.167suser 0m9.870ssys 0m14.240sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216588 132020 63% /ext3-4k/dev/dasde1 216417 214284 2133 100% /ext3-1k/dev/dasdf1 359888 234216 125672 66% /reiser-4k/dev/dasdg1 357640 205864 151776 58% /jfs-4k/dev/sda1 363629 218396 145233 61% /ext3-4k-FCP/dev/sda2 402609 218396 184213 55% /ext3-1k-FCP/dev/sda3 415724 234216 181508 57% /reiser-4k-FCP/dev/sda4 413476 205872 207604 50% /jfs-4k-FCP

200000 byte files==============File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 16428 332180 5% /ext3-4k/dev/dasde1 216417 4127 212290 2% /ext3-1k/dev/dasdf1 359888 32840 327048 10% /reiser-4k/dev/dasdg1 357640 176 357464 1% /jfs-4k/dev/sda1 363629 8239 355390 3% /ext3-4k-FCP/dev/sda2 402609 8239 394370 3% /ext3-1k-FCP/dev/sda3 415724 32840 382884 8% /reiser-4k-FCP/dev/sda4 413476 184 413292 1% /jfs-4k-FCP1000+0 records in1000+0 records out

real 0m20.054suser 0m1.050ssys 0m2.680s

real 0m51.085suser 0m0.890ssys 0m4.900s

real 0m3.994suser 0m1.000ssys 0m2.990s

real 0m24.426suser 0m0.830ssys 0m2.210s

real 0m12.948suser 0m1.010ssys 0m4.940s

real 0m11.565suser 0m0.940s

Page 23: Section 1. A zSeries Linux file system test script

Section 1. A zSeries Linux file system test script © Copyright IBM Corp. 2002 23

sys 0m4.950s

real 0m4.100suser 0m0.980ssys 0m3.100s

real 0m12.445suser 0m1.030ssys 0m2.200sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216440 132168 63% /ext3-4k/dev/dasde1 216417 201143 15274 93% /ext3-1k/dev/dasdf1 359888 229156 130732 64% /reiser-4k/dev/dasdg1 357640 196744 160896 56% /jfs-4k/dev/sda1 363629 205255 158374 57% /ext3-4k-FCP/dev/sda2 402609 205255 197354 51% /ext3-1k-FCP/dev/sda3 415724 229156 186568 56% /reiser-4k-FCP/dev/sda4 413476 196752 216724 48% /jfs-4k-FCPNumber of files:"ext3", 1002"ext3-1k", 1002"reiser", 1001"JFS", 1001"ext3-FCP", 1002"ext3-1k-FCP", 1002"reiser-FCP", 1001"JFS-FCP", 1001File systems before copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216440 132168 63% /ext3-4k/dev/dasde1 216417 201143 15274 93% /ext3-1k/dev/dasdf1 359888 229156 130732 64% /reiser-4k/dev/dasdg1 357640 196744 160896 56% /jfs-4k/dev/sda1 363629 205255 158374 57% /ext3-4k-FCP/dev/sda2 402609 205255 197354 51% /ext3-1k-FCP/dev/sda3 415724 229156 186568 56% /reiser-4k-FCP/dev/sda4 413476 196752 216724 48% /jfs-4k-FCP1000+0 records in1000+0 records out

real 0m28.240suser 0m1.120ssys 0m1.960s

real 0m58.434suser 0m0.840ssys 0m1.930s

real 0m28.188suser 0m0.960ssys 0m2.380s

real 0m27.815suser 0m1.150s

Page 24: Section 1. A zSeries Linux file system test script

24 Advanced Linux for zSeries Lab © Copyright IBM Corp. 2004

sys 0m2.080s

real 0m19.136suser 0m0.960ssys 0m2.520s

real 0m19.131suser 0m0.930ssys 0m2.510s

real 0m19.321suser 0m1.180ssys 0m2.660s

real 0m18.690suser 0m1.070ssys 0m2.120sFile systems after copying:Filesystem 1K-blocks Used Available Use% Mounted on/dev/dasdd1 348608 216440 132168 63% /ext3-4k/dev/dasde1 216417 201143 15274 93% /ext3-1k/dev/dasdf1 359888 229156 130732 64% /reiser-4k/dev/dasdg1 357640 196744 160896 56% /jfs-4k/dev/sda1 363629 205255 158374 57% /ext3-4k-FCP/dev/sda2 402609 205255 197354 51% /ext3-1k-FCP/dev/sda3 415724 229156 186568 56% /reiser-4k-FCP/dev/sda4 413476 196752 216724 48% /jfs-4k-FCPMon Mar 1 22:09:57 EST 2004