You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.0 KiB
77 lines
2.0 KiB
#!/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."
|
|
|
|
|