Dit is het script waar de url naartoe zou gaan in het Network File System artikel van Arjan ten Hoopen.

 

#!/bin/bash

#

# Auteur: Arjan ten Hoopen

#

# Simpel script om een indicatie te krijgen over de performance van NFS

# Run dit script als gewone gebruiker op de client

#

 

#

# Naam van het filesysteem dat we gaan testen

#

NFSFILESYSTEM=/home

 

#

# Blocksize van NSFILESYSTEM

# Gebruik “blockdev –getbsz /dev/what-ever-your-system-uses” op de NFS server om hier achter te komen

#

BS=4096

 

#

# De map die de pwd tijdens het testen is. Deze map moet onderdeel zijn van het NFSFILESYSTEM

#

WORKINGDIR=/home/arjan

 

#

# Naam van het tijdelijke bestand dat we gaan schrijven. 

# Dit bestand komt te staan in WORKINGDIR

#

OUTPUTFILE=file1

 

#

# dd wordt gebruikt om een bestand op te slaan met de naam OUTPUTFILE. Dit wordt een aantal malen gedaan.

# De volgende string wordt gebruikt als basis voor de grote van de bestanden. Let op: de grote in bytes

# van het bestand is gelijk aan de waarde in deze string vermenigvuldigd met BS

#

FORLOOPVALUES=”250 2500 25000″

 

#

# Er is een for loop om de tests een aantal malen uit te voeren. Defineer hier de waardes

#

FORLOOPRUNS=”1 2 3 4 5 6 7 8 9 10 11 12 13″

 

 

READSIZE=`cat /proc/mounts|grep ${NFSFILESYSTEM}|cut -f4 -d,|cut -f2 -d=`

WRITESIZE=`cat /proc/mounts|grep ${NFSFILESYSTEM}|cut -f5 -d,|cut -f2 -d=`

TIMEO=`cat /proc/mounts|grep ${NFSFILESYSTEM}|cut -f10 -d,|cut -f2 -d=`

RETRANS=`cat /proc/mounts|grep ${NFSFILESYSTEM}|cut -f11 -d,|cut -f2 -d=`

 

cd ${WORKINGDIR}

echo Readsize=${READSIZE}

echo Writesize=${WRITESIZE}

echo Timeo=${TIMEO}

echo Retrans=${RETRANS}

echo Blocksize=${BS}

for COUNT in ${FORLOOPVALUES}

do

  FSIZE=`expr ${COUNT} \* ${BS}`

  echo -n “${FSIZE};    “

  for RUN in ${FORLOOPRUNS}

  do

    RESULT=`dd if=/dev/zero of=${OUTPUTFILE} bs=${BS} count=${COUNT} 2>&1 |grep copied | cut -f 10- -d ‘ ‘`

    echo -n “${RESULT}  ;”

    rm -f ${OUTPUTFILE}

  done

  echo

done

 

exit 0