Playbook für die Nextcloud Notfalleinrichtung.
This commit is contained in:
77
roles/initnextcloud/files/scripts/stressall
Executable file
77
roles/initnextcloud/files/scripts/stressall
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/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."
|
||||
|
Reference in New Issue
Block a user