76 lines
No EOL
3.3 KiB
Markdown
76 lines
No EOL
3.3 KiB
Markdown
# 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. |