60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #! /usr/bin/bash
 | |
| 
 | |
| MOUNTPOINT='/mnt/speedtest'
 | |
| 
 | |
| # number of threads used during testing
 | |
| nproc=4
 | |
| 
 | |
| if [ "$EUID" -ne 0 ]
 | |
|   then echo "Please run as root"
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| if [ "${1}" ]; then
 | |
|  DEVICE=${1}
 | |
|  PARTITION=${DEVICE}1
 | |
|  echo "using device ${DEVICE}"
 | |
| else
 | |
|  echo "using default device ${DEVICE}"
 | |
| fi
 | |
| 
 | |
| # check if sd card is inserted
 | |
| if [ -e ${DEVICE} ]; then
 | |
|   echo "card inserted"
 | |
| else
 | |
|   echo "no sd card found"
 | |
|   exit 2
 | |
| fi
 | |
| 
 | |
| echo "deleting partion #1"
 | |
| sfdisk --delete -w ${DEVICE} 1 && sync
 | |
| 
 | |
| echo "creating new ext4 partition"
 | |
| echo ",," |sfdisk ${DEVICE} && sync
 | |
| 
 | |
| echo "creating ext4 filesystem on ${PARTITION}"
 | |
| echo "y" |mkfs.ext4 ${PARTITION}
 | |
| 
 | |
| #check if mount point is available, create otherwise
 | |
| if [ ! -d "${MOUNTPOINT}" ]; then mkdir "${MOUNTPOINT}"; fi
 | |
| mount -t ext4 "${PARTITION}" "${MOUNTPOINT}"
 | |
| cd "${MOUNTPOINT}"
 | |
| echo "preparing tests"
 | |
| sysbench fileio --file-total-size=8G prepare > /dev/null
 | |
| 
 | |
| # Test with 16K block size, random read/write
 | |
| echo "run test with 16K block size"
 | |
| sysbench fileio --file-block-size=16K --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run
 | |
| 
 | |
| # Test with 1M  block size, random read/write
 | |
| echo "run test with 1M block size"
 | |
| sysbench fileio --file-block-size=1M --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run
 | |
| 
 | |
| # cleanup the test files
 | |
| echo "cleaning up test files"
 | |
| sysbench fileio --file-total-size=8G cleanup
 | |
| cd - >/dev/null
 | |
| umount ${PARTITION}
 | |
| 
 | |
| 
 | 
