better filesystem test
This commit is contained in:
parent
3f8232e8f9
commit
29ad7a1b1a
2 changed files with 59 additions and 8 deletions
|
|
@ -30,6 +30,7 @@ with lib;
|
||||||
killall
|
killall
|
||||||
speedtest-cli
|
speedtest-cli
|
||||||
parted
|
parted
|
||||||
|
fio
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.shellAliases = {
|
environment.shellAliases = {
|
||||||
|
|
|
||||||
|
|
@ -48,16 +48,66 @@ mail_clear() {
|
||||||
: > /var/mail/$USER
|
: > /var/mail/$USER
|
||||||
}
|
}
|
||||||
|
|
||||||
speedtest_fs () {
|
peedtest_fs () {
|
||||||
dir=$(pwd)
|
dir=$(pwd)
|
||||||
drive=$(df -h ${dir} | awk 'NR==2 {print $1}')
|
drive=$(df -h "${dir}" | awk 'NR==2 {print $1}')
|
||||||
echo Testing read speeds on drive ${drive}
|
echo "Testing filesystem on: ${dir}"
|
||||||
sudo hdparm -Tt ${drive}
|
echo "Underlying device: ${drive}"
|
||||||
test_file=$(date +%u%m%d)
|
|
||||||
test_file="${dir}/speedtest_fs_${test_file}"
|
|
||||||
echo
|
echo
|
||||||
echo Testing write speeds into test file: ${test_file}
|
|
||||||
dd if=/dev/zero of=${test_file} bs=8k count=10k; rm -f ${test_file}
|
test_file="${dir}/speedtest_fs_$(date +%u%m%d).fio"
|
||||||
|
file_size=1G # size of the test file
|
||||||
|
runtime=5 # seconds per test
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
if [ -n "${test_file:-}" ] && [ -f "${test_file}" ]; then
|
||||||
|
echo
|
||||||
|
echo "Cleaning up test file: ${test_file}"
|
||||||
|
rm -f "${test_file}"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure cleanup on normal exit, Ctrl+C, etc.
|
||||||
|
trap cleanup EXIT INT TERM
|
||||||
|
|
||||||
|
echo "Creating test file (${file_size}) at: ${test_file}"
|
||||||
|
fio --name=precreate \
|
||||||
|
--filename="${test_file}" \
|
||||||
|
--rw=write \
|
||||||
|
--bs=1M \
|
||||||
|
--size="${file_size}" \
|
||||||
|
--iodepth=16 \
|
||||||
|
--direct=1 \
|
||||||
|
--numjobs=1 \
|
||||||
|
--group_reporting >/dev/null 2>&1
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Sequential write test (${runtime}s) ==="
|
||||||
|
fio --name=seqwrite \
|
||||||
|
--filename="${test_file}" \
|
||||||
|
--rw=write \
|
||||||
|
--bs=1M \
|
||||||
|
--size="${file_size}" \
|
||||||
|
--iodepth=16 \
|
||||||
|
--direct=1 \
|
||||||
|
--numjobs=1 \
|
||||||
|
--time_based \
|
||||||
|
--runtime="${runtime}" \
|
||||||
|
--group_reporting
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=== Sequential read test (${runtime}s) ==="
|
||||||
|
fio --name=seqread \
|
||||||
|
--filename="${test_file}" \
|
||||||
|
--rw=read \
|
||||||
|
--bs=1M \
|
||||||
|
--size="${file_size}" \
|
||||||
|
--iodepth=16 \
|
||||||
|
--direct=1 \
|
||||||
|
--numjobs=1 \
|
||||||
|
--time_based \
|
||||||
|
--runtime="${runtime}" \
|
||||||
|
--group_reporting
|
||||||
}
|
}
|
||||||
|
|
||||||
speedtest_internet () {
|
speedtest_internet () {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue