Files

78 lines
2.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
set -euo pipefail
# Dauer des Tests (Default: 10 Minuten, Format z.B. "5m", "600")
DURATION="${1:-10m}"
# Verzeichnisse / Geräte für File‑IO
NVME_MOUNT="~/test" # bitte anpassen
SATA_MOUNT="/mnt/nextcloud/test" # bitte anpassen
# Größe und Einstellungen für sysbench-File‑IO
FILE_TOTAL_SIZE="1G"
FILE_NUM="4"
TEST_MODE="rndrw"
EXTRA_FLAGS="--file-extra-flags=direct"
echo "== Vorbereitung: File‑IO Testdateien erstellen =="
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${NVME_MOUNT} prepare &
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${SATA_MOUNT} prepare &
wait
echo "== Vorbereitung fertig, starte Stresstest für ${DURATION} =="
# CPU‑Stresstest
stress-ng \
--cpu 8 \
--cpu-method all \
--verify \
--timeout ${DURATION} \
--metrics-brief \
> stress-ng.log 2>&1 &
# File‑IO auf NVMe
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${NVME_MOUNT} \
--time=${DURATION} run \
> sysbench-nvme.log 2>&1 &
# File‑IO auf SATA‑SSD
sysbench fileio \
--file-total-size=${FILE_TOTAL_SIZE} \
--file-num=${FILE_NUM} \
--file-test-mode=${TEST_MODE} \
${EXTRA_FLAGS} \
--file-dir=${SATA_MOUNT} \
--time=${DURATION} run \
> sysbench-sata.log 2>&1 &
# Auf alle Hintergrund‐Jobs warten
wait
echo "== Stresstest abgeschlossen =="
echo "Ergebnisse:"
echo " - CPU (stress-ng): see stress-ng.log"
echo " - NVMe (sysbench): see sysbench-nvme.log"
echo " - SATA (sysbench): see sysbench-sata.log"
# Clean up File‑IO Testdateien
echo "== Aufräumen: File‑IO Testdateien löschen =="
sysbench fileio ${EXTRA_FLAGS} --file-dir=${NVME_MOUNT} cleanup
sysbench fileio ${EXTRA_FLAGS} --file-dir=${SATA_MOUNT} cleanup
echo "Fertig."