-
-
Save thejohnny/b91baed7a1f7c152f0627a5782213fc9 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 | |
set -ueo pipefail | |
TEST_DIR=$1 | |
echo "benchmark disk mounted on" $TEST_DIR | |
echo "--> write throughput" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --numjobs=8 \ | |
--size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio \ | |
--direct=1 --verify=0 --bs=1M --iodepth=64 --rw=write \ | |
--group_reporting=1 | |
echo "--> read throughput" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --numjobs=8 \ | |
--size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio \ | |
--direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read \ | |
--group_reporting=1 | |
# echo "--> read throughput (clean)" | |
# clear page cache | |
# sudo sysctl -w vm.drop_caches=3 | |
# remove time_based so there's no repeated access to same data | |
# sudo fio --name=disk_benchmark --directory=$TEST_DIR --numjobs=8 \ | |
# --size=10G --runtime=60s --ramp_time=2s --ioengine=libaio \ | |
# --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read \ | |
# --group_reporting=1 | |
echo "--> write IOPS" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --size=10G \ | |
--time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 \ | |
--verify=0 --bs=4K --iodepth=256 --rw=randwrite --group_reporting=1 | |
echo "--> read IOPS" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --size=10G \ | |
--time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 \ | |
--verify=0 --bs=4K --iodepth=256 --rw=randread --group_reporting=1 | |
echo "--> write latency" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR \ | |
--filesize=10G --time_based --ramp_time=2s --runtime=1m \ | |
--ioengine=libaio --direct=1 --verify=0 --randrepeat=0 \ | |
--bs=4K --iodepth=2 --rw=randwrite --group_reporting=1 | |
echo "--> read latency" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR \ | |
--filesize=10G --time_based --ramp_time=2s --runtime=1m \ | |
--ioengine=libaio --direct=1 --verify=0 --randrepeat=0 \ | |
--bs=4K --iodepth=2 --rw=randread --group_reporting=1 | |
echo "--> fsync" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --filesize=10G \ | |
--time_based --ramp_time=2s --runtime=30s \ | |
--ioengine=libaio --direct=0 --verify=0 -fdatasync=1 \ | |
--bs=4K --iodepth=8 --rw=randwrite --group_reporting=1 | |
echo "--> fsync latency" | |
sudo fio --name=disk_benchmark --directory=$TEST_DIR --filesize=10G \ | |
--time_based --ramp_time=2s --runtime=30s \ | |
--ioengine=psync --direct=0 --verify=0 -fdatasync=1 \ | |
--bs=4K --rw=randwrite --group_reporting=1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment