99 lines
No EOL
3.5 KiB
Markdown
99 lines
No EOL
3.5 KiB
Markdown
# Batch Latency Measurement
|
||
|
||
## Überblick
|
||
|
||
Das Projekt **batch_latency_measurement** untersucht die Latenzzeiten verschiedener Zeitpunkte während eines Upload-Prozesses. Ziel ist es, eine präzise Definition für den Zeitpunkt *t_publish* zu entwickeln. Dabei werden Messungen zu Upload-Ende, API-Response und Filesystem-Änderungszeiten analysiert.
|
||
|
||
[Artikel mit Hintergrundinformationen](https://donau2space.de/tag-150-schnee-drei-t_publish-kandidaten-und-warum-meine-latenzkurve-wackelt/)
|
||
|
||
[Git Repository](https://git.donau2space.de/Mika/batch_latency_measurement)
|
||
|
||
### Hinweis
|
||
|
||
Alle Inhalte wurden per KI generiert.
|
||
|
||
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich und auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
|
||
|
||
---
|
||
|
||
## Inhalt des Repositories
|
||
|
||
### Artefakte
|
||
|
||
**1. measure_latency**
|
||
Art: python_script
|
||
Zielumgebung: linux-userspace
|
||
Sprache: Python
|
||
**Zweck:** Misst und analysiert Latenzzeiten zwischen verschiedenen Zeitpunkten eines Upload-Prozesses (Upload-Ende, API-Response, FS-mtime).
|
||
**API-Funktionen:**
|
||
- `measure_latencies(n_runs)` – Führt mehrere Messungen aus und liefert ein JSON-Objekt *latency_results*.
|
||
- `analyze_results(latency_results)` – Analysiert die Messergebnisse und erzeugt eine Statistik *analysis_summary*.
|
||
|
||
**Datenstrukturen:**
|
||
- `latency_results` (Format: JSON) – enthält *upload_end_time*, *api_response_time*, *fs_mtime* und *offsets*.
|
||
|
||
**2. generate_report**
|
||
Art: python_script
|
||
Zielumgebung: linux-userspace
|
||
Sprache: Python
|
||
**Zweck:** Erstellt einen Bericht auf Basis der Messdaten und Analyseergebnisse.
|
||
**API-Funktion:**
|
||
- `create_report(latency_results, analysis_summary)` – Generiert ein strukturiertes Ausgabedokument *report_document*.
|
||
|
||
**3. log_data**
|
||
Art: csv_dataset
|
||
Zielumgebung: linux-userspace
|
||
Sprache: CSV
|
||
**Zweck:** Enthält die gemessenen Rohdaten zur späteren Analyse und Reproduzierbarkeit der Messungen.
|
||
|
||
---
|
||
|
||
## Installation & Nutzung
|
||
|
||
### Voraussetzungen
|
||
- Linux-System mit Python ≥ 3.8
|
||
- Schreibrechte im Arbeitsverzeichnis zur Datenerfassung
|
||
|
||
### Installation
|
||
1. Repository klonen:
|
||
`git clone https://git.donau2space.de/Mika/batch_latency_measurement`
|
||
2. Projektverzeichnis aufrufen:
|
||
`cd batch_latency_measurement`
|
||
3. Abhängigkeiten installieren:
|
||
`pip install -r requirements.txt`
|
||
|
||
### Ausführung
|
||
- Latenz messen:
|
||
`python measure_latency.py`
|
||
- Messergebnisse analysieren und Bericht erzeugen:
|
||
`python generate_report.py`
|
||
|
||
---
|
||
|
||
## Typische Use-Cases
|
||
- Vergleich verschiedener Upload-Pipeline-Konfigurationen
|
||
- Ermittlung des stabilsten Messpunkts zur Definition von *t_publish*
|
||
- Analyse von Verzögerungen zwischen Dateisystem und API-Antwort
|
||
- Automatisierte Auswertung und Berichterstellung für Performance-Monitoring
|
||
|
||
---
|
||
|
||
## Struktur & mögliche Erweiterungen
|
||
Das Projekt ist modular aufgebaut. Erweiterungen können erfolgen durch:
|
||
- Ergänzung weiterer Messpunkte (z. B. Datenbank-Write-Zeitpunkte)
|
||
- Anpassung des Reporting-Moduls zur Erzeugung von Diagrammen oder Dashboards
|
||
- Hinzufügen von Schnittstellen zur laufenden Prozessüberwachung
|
||
|
||
Verzeichnisstruktur (empfohlen):
|
||
- `measure_latency.py` – Messlogik
|
||
- `generate_report.py` – Berichtserzeugung
|
||
- `log_data/` – Datenspeicher (CSV)
|
||
- `docs/` – technische Dokumentation und Auswertung
|
||
|
||
---
|
||
|
||
## Lizenz
|
||
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
|
||
Alle Inhalte wurden automatisch von einer KI generiert. Die Nutzung erfolgt auf eigenes Risiko. |