readarchive: Sensoren eines Tages parallel abholen
Die Laufzeit steckt fast vollstaendig im Warten auf die CSV-Dateien von archive.sensor.community - je Sensor rund 0,24 s, davon nur 0,02 s der Influx-Write und 0,01 s die Mongo-Abfrage. Die Schleife ueber die Sensoren laeuft deshalb jetzt mit mehreren Arbeitern gleichzeitig (-p bzw. PARALLEL, Default 4, 1 = altes Verhalten). Gemessen fuer 2026-08-01 (280 Laermsensoren, 344660 Werte, -d influx): 1 -> 79 s, 4 -> 33 s, 8 -> 35 s, 16 -> 31 s. Ab etwa 4 gleichzeitigen Abrufen liefert das Archiv nicht mehr schneller; derselbe Verlauf zeigt sich mit blossem curl ohne Datenbank (71 / 32 / 28 / 29 / 29 s bei 1, 4, 8, 16, 32 Abrufen). Der Default steht deshalb auf 4 und nicht hoeher - mehr erzeugt nur Last beim fremden Server. checkProperties() wird jetzt awaited - der Aufruf lief bisher ohne await gegen das bulkWrite am Ende von main(), was mit parallelen Sensoren kein Randfall mehr waere. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,7 +16,8 @@
|
||||
#
|
||||
# readFromcsv.js liest jeden Parameter auch aus einer Env-Variablen:
|
||||
# -s = START (Default: gestern), -e = END (Default: Startdatum + 1 Tag,
|
||||
# exklusiv), -t = TYP (Default: noise), -d = DBASE (Default: both).
|
||||
# exklusiv), -t = TYP (Default: noise), -d = DBASE (Default: both),
|
||||
# -p = PARALLEL (Default: 4) - so viele Sensoren werden gleichzeitig geholt.
|
||||
#
|
||||
# Voraussetzungen:
|
||||
# * Der Haupt-Stack laeuft, denn dessen Netz wird hier eingebunden. Der Name
|
||||
@@ -46,6 +47,7 @@ services:
|
||||
END: ${END:-}
|
||||
TYP: ${TYP:-noise}
|
||||
DBASE: ${DBASE:-influx}
|
||||
PARALLEL: ${PARALLEL:-4}
|
||||
volumes:
|
||||
- ${LOCALDIR}/noisesensors/log:/var/log
|
||||
- ${LOCALDIR}/noisesensors/data/readarchive:/opt/app/readarchive/data
|
||||
|
||||
Reference in New Issue
Block a user