Skip to main content

css-autoscaling-benchmark-skill

Benchmark and autoscaling test harness for Huawei Cloud CSS (OpenSearch). Use when the task is to evaluate CSS performance, run load tests, validate query quality, test data-node horizontal autoscaling, or generate consolidated benchmark reports for CSS clusters.

Quellinformationen

Repository
binrogithub/1-3-Cloud-Adoption-Skills
Letzte Quellaktivität
8. Mai 2026 um 15:24
Erkannte Sprache von SKILL.md
Englisch
Sterne
13
Forks
18

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
25 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
css-autoscaling-benchmark-skill
description
Benchmark and autoscaling test harness for Huawei Cloud CSS (OpenSearch). Use when the task is to evaluate CSS performance, run load tests, validate query quality, test data-node horizontal autoscaling, or generate consolidated benchmark reports for CSS clusters.
# CSS Autoscaling Benchmark Skill Comprehensive benchmark and autoscaling test harness for **Huawei Cloud CSS (Cloud Search Service / OpenSearch)**, built around a **ColombiaEats food delivery** use case with vector similarity search, geolocation, and cross-query patterns. ## When to Use This Skill - You need to evaluate CSS/OpenSearch performance under realistic workloads (ingestion throughput, query latency, vector search quality). - You need to test or validate CSS data-node horizontal autoscaling behavior. - You need a consolidated benchmark report with latency percentiles, throughput metrics, and scaling event history. - You need to validate CSS API endpoints or run load tests against an existing CSS cluster. ## Architecture ``` run_complete_benchmark.sh <-- Main entry point (7-phase pipeline) ├── config.py <-- Centralized .env configuration ├── setup_css_index.py <-- Phase 1: Index creation ├── ingesta_benchmark.py <-- Phase 2: Bulk ingestion ├── evaluaciones_benchmark.py <-- Phase 3: Query quality evaluation ├── cross_query_benchmark.py <-- Phase 4: CSS + RDS cross-queries ├── run_performance_tests.sh <-- Phase 5: Locust load tests │ └── locustfile.py ├── monitor_autoscaling.py <-- Phase 6: Cluster monitoring ├── phase5_controller.py <-- Phase 6: Aggressive load to trigger scaling ├── data_node_autoscaler.py <-- Autoscaler orchestrator ├── css_monitor.py <-- Data node metrics collector ├── scaling_engine.py <-- Hysteresis-based scaling decisions ├── huawei_css_api.py <-- Huawei Cloud CSS SDK wrapper ├── generate_report.py <-- Phase 7: Consolidated report ├── apis_test.py <-- API endpoint validation ├── load_generator.py <-- Standalone load generator └── stress_test_wrapper.py <-- Stress test orchestration ``` ## Required Inputs - Huawei Cloud CSS cluster endpoint (host:port). - CSS cluster credentials (if auth is enabled). - Huawei Cloud AK/SK with CSS read/write scope (for SDK-based operations). - Target region and project ID. ## Core Rules - **Never run load tests against a production CSS cluster** without explicit authorization and during a maintenance window. - **Always start with a small load** and scale up; use `config.py` to control concurrency and ramp rate. - **Capture baseline metrics** before autoscaling tests so you can compare before/after. - **Clean up test indices** after benchmark runs unless explicitly preserving them for analysis. - **Respect CSS resource quotas**; the autoscaling phases create additional data nodes which consume project quota. ## Benchmark Phases | Phase | Script | Description | |-------|--------|-------------| | 1 | `setup_css_index.py` | Create indices with mappings for vectors, geolocation, and text | | 2 | `ingesta_benchmark.py` | Bulk ingest ColombiaEats documents with embeddings | | 3 | `evaluaciones_benchmark.py` | Evaluate query quality (recall, precision, latency) | | 4 | `cross_query_benchmark.py` | Cross-query CSS + simulated RDS for pricing/availability | | 5 | `run_performance_tests.sh` | Locust load tests with configurable concurrency | | 6 | `monitor_autoscaling.py` | Monitor cluster; trigger scaling with aggressive load | | 7 | `generate_report.py` | Consolidated report with all metrics and scaling events | ## Quick Start ```bash # Configure cp .env.example .env # Edit .env with CSS endpoint, AK/SK, region # Install dependencies pip install -r requirements.txt # Run full 7-phase benchmark bash run_complete_benchmark.sh # Or run individual phases python3 setup_css_index.py python3 ingesta_benchmark.py python3 evaluaciones_benchmark.py ``` ## Troubleshooting | Symptom | Cause | Fix | |---------|-------|-----| | `CSS.0065` disk sold out | COMMON disk unavailable | Change `css_volume_type` to `HIGH` in config | | Locust connection timeout | CSS endpoint unreachable or SG blocked | Verify endpoint and security group rules | | Autoscaling not triggered | Load too low or cooldown period active | Increase `phase5_controller.py` concurrency; check cluster cooldown | | Ingestion rate drops | Bulk request too large | Reduce `chunk_size` in `config.py` | ## Resources - [README.md](README.md): Detailed setup and usage instructions - [scripts/run_complete_benchmark.sh](run_complete_benchmark.sh): Main 7-phase pipeline - [scripts/config.py](config.py): Centralized configuration from .env - [scripts/huawei_css_api.py](huawei_css_api.py): Huawei Cloud CSS SDK wrapper
Auf GitHub ansehen