Last active
July 19, 2024 15:40
-
-
Save tabokie/408c34dc8c5fda196e5403b2df211761 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