Playbook für die Nextcloud Notfalleinrichtung.
This commit is contained in:
92
roles/initnextcloud/files/scripts/fullstress
Executable file
92
roles/initnextcloud/files/scripts/fullstress
Executable file
@@ -0,0 +1,92 @@
|
||||
#!/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
|
||||
DATA_DRIVE="${HOME}/test/sysbench" # bitte anpassen
|
||||
SYSTEM_DRIVE="/mnt/nextcloud/test/sysbench" # bitte anpassen
|
||||
CURRENT_DIR=$(pwd)
|
||||
|
||||
# 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 =="
|
||||
echo "testmode=${TEST_MODE}"
|
||||
|
||||
cd ${DATA_DRIVE}
|
||||
echo "preparing sysbench on ${DATA_DRIVE}"
|
||||
sysbench fileio \
|
||||
--file-total-size=${FILE_TOTAL_SIZE} \
|
||||
--file-num=${FILE_NUM} \
|
||||
--file-test-mode=${TEST_MODE} \
|
||||
${EXTRA_FLAGS} \
|
||||
prepare &
|
||||
cd ${SYSTEM_DRIVE}
|
||||
echo "preparing sysbench on ${SYSTEM_DRIVE}"
|
||||
sysbench fileio \
|
||||
--file-total-size=${FILE_TOTAL_SIZE} \
|
||||
--file-num=${FILE_NUM} \
|
||||
--file-test-mode=${TEST_MODE} \
|
||||
${EXTRA_FLAGS} \
|
||||
prepare
|
||||
wait
|
||||
echo "== Vorbereitung fertig, starte Stresstest für ${DURATION} =="
|
||||
|
||||
# CPU‑Stresstest
|
||||
echo "running stress-ng"
|
||||
stress-ng \
|
||||
--cpu 8 \
|
||||
--cpu-method all \
|
||||
--verify \
|
||||
--timeout ${DURATION} \
|
||||
--metrics-brief \
|
||||
> stress-ng.log &
|
||||
|
||||
# File‑IO auf System-Laufwerk
|
||||
cd ${SYSTEM_DRIVE}
|
||||
echo "running sysbench on ${SYSTEM_DRIVE}"
|
||||
sysbench fileio \
|
||||
--file-total-size=${FILE_TOTAL_SIZE} \
|
||||
--file-num=${FILE_NUM} \
|
||||
--file-test-mode=${TEST_MODE} \
|
||||
${EXTRA_FLAGS} \
|
||||
--file-dir=${DATA_DRIVE} \
|
||||
--time=10 run \
|
||||
> sysbench-nvme.log &
|
||||
|
||||
# File‑IO auf Daten-Laufwerk
|
||||
cd ${DATA_DRIVE}
|
||||
echo "running sysbench on ${DATA_DRIVE}"
|
||||
sysbench fileio \
|
||||
--file-total-size=${FILE_TOTAL_SIZE} \
|
||||
--file-num=${FILE_NUM} \
|
||||
--file-test-mode=${TEST_MODE} \
|
||||
${EXTRA_FLAGS} \
|
||||
--file-dir=${SYSTEM_DRIVE} \
|
||||
--time=10 run \
|
||||
> sysbench-sata.log &
|
||||
|
||||
# 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 =="
|
||||
cd ${DATA_DRIVE}
|
||||
sysbench fileio ${EXTRA_FLAGS} cleanup
|
||||
cd ${SYSTEM_DRIVE}
|
||||
sysbench fileio ${EXTRA_FLAGS} cleanup
|
||||
cd ${CURRENT_DIR}
|
||||
|
||||
echo "Fertig."
|
||||
|
Reference in New Issue
Block a user