migration_performance_analysis/README.md
2026-01-10 14:23:05 +00:00

76 lines
No EOL
3.3 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Migration Performance Analysis
## Überblick
Dieses Repository dokumentiert das Experiment **migration_performance_analysis**. Ziel ist die Untersuchung der Auswirkungen von vCPU-Pinning auf Migrationsspitzen in virtualisierten Umgebungen. Analyse- und Visualisierungstools bewerten Performance-Daten, um Migrationsverhalten unter Last nachvollziehbar zu machen.
**Hinweis**
Alle Inhalte wurden per KI generiert.
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
**Link zum Artikel:** [Begleitender Blogeintrag](https://donau2space.de/tag-114-1510-leichter-schnee-ueber-passau-und-ich-lasse-migrationen-gegen-halb-gepinnt-antreten/)
**Git-Repository:** [https://git.donau2space.de/Mika/migration_performance_analysis](https://git.donau2space.de/Mika/migration_performance_analysis)
## Inhalt des Repositories
Das Repository besteht aus drei technischen Artefakten:
### 1. trace_analysis
- **Zweck:** Analyse von Performance-Daten von Migrationen mithilfe von eBPF-Probes
- **Art:** Python-Skript
- **Zielplattform:** Linux Userspace
- **Sprache:** Python
- **API-Funktion:**
- `analyze_spikes(event_log)` → Liefert `spike_analysis_report` mit Feldern *migration_type*, *timestamp*, *spike_count*.
### 2. migration_metrics
- **Zweck:** Berechnung und Aufbereitung von Metriken, insbesondere P99-Spitzenwerten und Migrationsfrequenzen
- **Art:** Python-Skript
- **Zielplattform:** Linux Userspace
- **Sprache:** Python
- **API-Funktion:**
- `calculate_metrics(migration_data)` → Erzeugt `metric_report` mit Feldern *p99_delta* und *migration_spike_percentage*.
### 3. data_visualization
- **Zweck:** Weboberfläche zur Darstellung der Analysedaten und Metriken
- **Art:** Web-UI
- **Zielplattform:** Webbrowser
- **Sprachen:** HTML, CSS, JavaScript
- **Routen:**
- `GET /migration_report` → Liefert ein *metric_report*-Objekt
- **Genutzte JS-Module:** *chart.js*
## Installation & Nutzung
### Python-Komponenten
1. Voraussetzung: Python  3.8 unter Linux
2. Installation der Abhängigkeiten:
```bash
pip install -r requirements.txt
```
3. Ausführung der Skripte:
```bash
python trace_analysis.py --input events.json
python migration_metrics.py --input spike_analysis.json
```
### Weboberfläche
1. Öffnen Sie `data_visualization/index.html` im Browser.
2. Die grafische Darstellung wird automatisch aus den generierten Metrikdaten erstellt.
## Typische Use-Cases
- Evaluation der Effekte von CPU-Pinning bei Migrationen
- Identifikation von Migrationsspitzen mit Hilfe von eBPF-Traces
- Darstellung und Vergleich von Performance-Metriken über verschiedene Testläufe
## Struktur & mögliche Erweiterungen
- **scripts/** enthält Python-Analysetools
- **visualization/** stellt Visualisierungs-Frontend und Ressourcen
- **data/** dient zur Ablage der verwendeten und erzeugten JSON-Berichte
Erweiterungsmöglichkeiten:
- Zusätzliche Analysefunktionen zur Korrelation mit IO- und Netzwerklatenz
- Verbesserung der Visualisierung mit erweiterten Diagrammtypen
- Integration einer REST-API zur Live-Datenabfrage
## Lizenz
Lizenz: **MIT**
Alle Inhalte wurden automatisch durch KI erstellt. Nutzung auf eigenes Risiko.