#!/usr/bin/perl my $debug="0"; my @measurements=(1,5,10,50,100,500,1000); #my @measurements=(50); my $disk="sdc"; ############################################ foreach my $measurement ( @measurements ) { print "###############\n"; print "$measurement\n"; print "###############\n"; ############################################ if ($debug == "0"){ our %command=( 'Stats_io' => qq{iostat -x $disk -d "tps,r/s,w/s,svctm,Blk_read/s,Blk_wrtn/s,Blk_read,Blk_wrtn,kB_read/s,kB_wrtn/s,kB_read,kB_wrtn" |grep $disk}, 'Stats_vmstats' => q{vmstat |awk '{ print $9, $10 }' }, 'Read_Test' => qq{dd if=/dev/${disk}3 of=/dev/null bs=512 count=$measurement |grep -v records} , 'Write_Test' => qq{dd if=/dev/zero of=/dev/${disk}3 bs=512k count=$measurement |grep -v records} ); }; ############################################ if ($debug == "1"){ for my $key (keys %command ) { print("COMMAND:\t$command{$key}\n"); } } ############################################ print " ---READ------\n"; open( READ, "$command{Read_Test} |grep -v records |") || die "cant run $command{Read_Test}:\t$?\n"; while( ) { if ( /copied/ ){ print("\t$_\n"); } } #close(READ)||die; ############################################ print " ---WRIGHT----\n"; open( WRIGHT, "$command{Write_Test} |") || die "cant run $command{Write_Test}:\t$?\n"; while( ){ if ( /copied/ ){ print("\t$_\n"); } } #close(WRIGHT)||die; ############################################ }