Created
April 16, 2018 23:21
-
-
Save graysky2/f586bc69f7b3680a25f7c6829e57cc6d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
limit=10 | |
NFS=/scratch | |
if ! mountpoint -q "$NFS"; then | |
echo "$NFS should be a mounted NFS partition" | |
exit 1 | |
fi | |
calc() { | |
diff=$(echo "scale=6; $finish - $start" | bc) | |
simpdiff=$(echo "scale=2; $finish - $start" | bc) | |
runsleft=$(echo "scale=2; $limit-$x"| bc) | |
secleft=$(echo "scale=2; $runsleft*$diff"|bc) | |
minleft=$(echo "scale=2; $runsleft*$diff/60"|bc) | |
eta=$(date -d "($date) $secleft sec" +%r) | |
echo "Run $x/$limit took $simpdiff seconds. ETA: $eta or about $minleft min from now." | |
echo "$diff sec,$size MB" >> "/tmp/results.csv" | |
} | |
for size in 10 18 32 56 100 178 316 562 1000 1778 3162; do | |
x=0 | |
while [[ "$x" -lt "$limit" ]]; do | |
x=$(( x + 1 )) | |
IMG="$NFS/image.$x" | |
MP="$NFS/mp" | |
truncate -s 8G "$IMG" | |
mkfs.ext4 -F "$IMG" &>/dev/null | |
[[ -d "$MP" ]] || mkdir "$MP" | |
mount -o loop "$IMG" "$MP" | |
# write out 4G of random data to the mounted image | |
echo "Writting round $x for $size MB" | |
RUNDATE=$(date "+%F %T") | |
start=$(date +%s.%N) | |
dd if=/dev/zero of="$MP/rnd.$x" bs=1M count=$size status=progress | |
finish=$(date +%s.%N) | |
calc | |
echo "Round $x done" | |
umount "$MP" | |
rmdir "$MP" | |
rm -f "$IMG" | |
done | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment