84 lines
No EOL
4 KiB
Markdown
84 lines
No EOL
4 KiB
Markdown
# Batch 2 Analysis
|
|
|
|
## Überblick
|
|
Dieses Projekt („**batch_2_analysis**“) untersucht die Performance zweier Speicherstrukturen innerhalb einer Datentransformations-Pipeline. Der Schwerpunkt liegt auf der Analyse der p99-Kante sowie der Identifikation und Bewertung von Ausreißern in Messdaten. Ziel ist es, Unterschiede im Verhalten von „pinned“ und „unpinned“ Datenpfaden zu quantifizieren und statistisch auszuwerten.
|
|
|
|
**Artikel:** [https://donau2space.de/tag-151-batch-2-ist-durch-10x-pinned-10x-unpinned-und-die-p99-kante-wird-sichtbar/](https://donau2space.de/tag-151-batch-2-ist-durch-10x-pinned-10x-unpinned-und-die-p99-kante-wird-sichtbar/)
|
|
|
|
**Repository:** [https://git.donau2space.de/Mika/batch_2_analysis](https://git.donau2space.de/Mika/batch_2_analysis)
|
|
|
|
### 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.
|
|
|
|
## Inhalt des Repositories
|
|
|
|
Das Repository enthält drei Hauptkomponenten zur Datenverarbeitung, Simulation und Analyse:
|
|
|
|
### 1. mess_log_processing
|
|
- **Art:** Python-Skript
|
|
- **Ziel:** Linux Userspace
|
|
- **Sprache:** Python
|
|
- **Zweck:** Verarbeitung von Messdaten aus JSON- und CSV-Dateien, Erstellung aggregierter Statistiken als Grundlage für weitere Analyse.
|
|
- **API-Funktionen:**
|
|
- `process_logs(json_file, csv_file)` → Liefert ein DataFrame mit aggregierten Statistiken.
|
|
- **Datenstruktur:** `LogData` (JSON) mit Feldern: `t_publish`, `t_gate_read`, `t_index_visible`, `pinned_flag`, `timeouts`, `drift_signature`.
|
|
|
|
### 2. policy_evaluation
|
|
- **Art:** Python-Skript
|
|
- **Ziel:** Linux Userspace
|
|
- **Sprache:** Python
|
|
- **Zweck:** Simulation und Evaluierung verschiedener Speicherrichtlinien über die verarbeiteten Logdaten.
|
|
- **API-Funktionen:**
|
|
- `evaluate_policies(log_data)` → Führt die Evaluierung durch und gibt die Ergebnisse zurück.
|
|
- **Datenstruktur:** `PolicyResults` (JSON) mit Feldern: `p99_coverage`, `remaining_missing_cases`, `conversion_rates`, `max_wait_time`.
|
|
|
|
### 3. statistical_analysis
|
|
- **Art:** Python-Skript
|
|
- **Ziel:** Linux Userspace
|
|
- **Sprache:** Python
|
|
- **Zweck:** Statistische Analyse der p99-Region und Ausreißer basierend auf den verarbeiteten Logdaten.
|
|
- **API-Funktionen:**
|
|
- `analyze_outliers(log_data)` → Bestimmt Ausreißer und liefert eine strukturierte Analyse.
|
|
- **Datenstruktur:** `OutlierAnalysis` (JSON) mit Feldern: `column_name`, `outlier_value`, `drift_signature`, `timeout_counts`.
|
|
|
|
## Installation & Nutzung
|
|
|
|
### Voraussetzungen
|
|
- Linux-System mit Python ≥ 3.8
|
|
- Python-Pakete: pandas, numpy, scipy
|
|
|
|
### Installation
|
|
```
|
|
git clone https://git.donau2space.de/Mika/batch_2_analysis.git
|
|
cd batch_2_analysis
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### Nutzung
|
|
```
|
|
python mess_log_processing.py input.json input.csv
|
|
python policy_evaluation.py processed_data.json
|
|
python statistical_analysis.py policy_results.json
|
|
```
|
|
Die Skripte sind sequenziell anwendbar: Ergebnisse aus den vorangehenden Schritten dienen als Eingabe für die folgende Analyse.
|
|
|
|
## Typische Use-Cases
|
|
- Vergleich von p99-Latenz zwischen pinned und unpinned Speicherpfaden
|
|
- Quantifizierung von Drift und Timeout-Anomalien
|
|
- Bewertung von Speicherstrategien im Hinblick auf Ausreißerhäufigkeit und -verteilung
|
|
- Erstellung reproduzierbarer Auswertungen von Performance-Daten aus JSON/CSV-Sammlungen
|
|
|
|
## Struktur & Erweiterbarkeit
|
|
Die Struktur ist modular aufgebaut:
|
|
- `mess_log_processing` → Datenerfassung & Vorverarbeitung
|
|
- `policy_evaluation` → Logik- und Richtlinienanalyse
|
|
- `statistical_analysis` → Statistische Weiterverarbeitung und Ergebnisaufbereitung
|
|
|
|
Erweiterungen können durch Hinzufügen neuer Analysefunktionen oder alternative Evaluationsstrategien erfolgen. Die bestehenden APIs liefern klar definierte Eingangs- und Rückgabeformate.
|
|
|
|
## Lizenz
|
|
MIT-Lizenz.
|
|
|
|
Alle Inhalte wurden automatisch generiert. Benutzung und Weiterentwicklung erfolgen auf eigenes Risiko. |