Audit: what a Felhom box needs — floor, 64 apps' memory and CPU, power (N100 bench); R-993..R-995; R-231 due check read green
Measured on demo-felhom (N100, 16 GB): 61 apps deployed and removed through the product, sampled every 5 s; heavy apps with one real action (Immich 200 photos, Jellyfin transcode, Paperless OCR, Nextcloud 500 MB, ...). sizing.json for the estimator (tools/build_sizing.py), SIZING.md with the proposed minimum machine, METHOD.md. Power is RAPL CPU-package only (no meter). R-993 asks the operator to approve the minimum machine; R-994 lists catalog limits/requests that are too low; R-995 records leftover unnamed volumes after removal. R-231's dated check measured: dooplex-backup.service success, journal green.
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
# queue.sh — run bench batches one after another on the N100 (only this session deploys there).
|
||||
# heavy:<app> up <app> -> actions.sh <app> -> 15 min rest -> down -> analyze
|
||||
# batch:<tag>:<a,b,c> up a b c -> 15 min rest -> down -> analyze
|
||||
# Each batch copies its evidence before removing anything (bench.py down). A batch that fails
|
||||
# still runs `down`, so nothing is left deployed.
|
||||
cd "$(dirname "$0")"
|
||||
for item in "$@"; do
|
||||
IFS=: read -r kind tag apps <<<"$item"
|
||||
if [ "$kind" = heavy ]; then apps=$tag; fi
|
||||
list=${apps//,/ }
|
||||
echo "=== $(date -u +%T) $kind $tag: $list"
|
||||
python3 -I bench.py up "$tag" $list | tail -3
|
||||
if [ "$kind" = heavy ]; then python3 -I run_action.py "$tag" "$tag" | grep -E '^@|->|up after|never|token length|status|trusted|media|ingest|library|transcode|onboarding|documents|api auth|mkcol|startup|add-library' | tail -25; fi
|
||||
python3 -I bench.py down "$tag" $list | tail -4
|
||||
python3 -I analyze.py "../evidence/$tag" | head -20
|
||||
done
|
||||
echo "=== $(date -u +%T) queue done"
|
||||
Reference in New Issue
Block a user