Přeskočit obsah

Škálování

Doporučení pro horizontální a vertikální škálování

Verze dokumentu: 1.0.0
Poslední aktualizace: 2026-02-10


1. Matice škálování

Komponenta Horizontální Vertikální Poznámky
Webové rozhraní ✅ 1–10+ replik Bezstavové; doporučen HPA
API Server ⚠️ 1 replika* *Jedna replika na licenci; pro více replik kontaktujte podporu
OCSP Responder ✅ 1–5+ replik Přístup k DB pouze pro čtení, bezstavový
PostgreSQL ✅ Čtecí repliky Primární + repliky pro škálování čtení
Redis ✅ Sentinel/Cluster Volitelné HA nasazení

2. Plánování kapacity

Objem tajemství

Počet tajemství API Server PostgreSQL Redis
< 10 000 2 CPU / 4 GB 2 CPU / 4 GB / 50 GB 1 CPU / 1 GB
10 000–50 000 4 CPU / 8 GB 4 CPU / 8 GB / 100 GB 2 CPU / 2 GB
50 000–200 000 4 CPU / 16 GB 8 CPU / 16 GB / 200 GB 2 CPU / 4 GB
200 000+ 8 CPU / 32 GB 16 CPU / 32 GB / 500 GB+ 4 CPU / 8 GB

Souběžní uživatelé

Uživatelé Repliky webového rozhraní Prostředky API Serveru
< 50 1–2 2 CPU / 4 GB
50–200 2–3 4 CPU / 8 GB
200–500 3–5 4 CPU / 16 GB
500+ 5+ (HPA) 8 CPU / 32 GB

Připojení agentů

Agenti Prostředky API Serveru Poznámky
< 50 Základní prostředky Standardní interval heartbeatu
50–200 +2 GB RAM Zvýšit interval heartbeatu na 120 s
200–500 +4 GB RAM Zvážit connection pooling
500+ +8 GB RAM Kontaktujte podporu pro ladění

3. Konfigurace Kubernetes HPA

Webové rozhraní

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: mazevault-frontend-hpa
  namespace: mazevault
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: mazevault-frontend
  minReplicas: 2
  maxReplicas: 10
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
    - type: Resource
      resource:
        name: memory
        target:
          type: Utilization
          averageUtilization: 80

OCSP Responder

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: mazevault-ocsp-hpa
  namespace: mazevault
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: mazevault-ocsp
  minReplicas: 1
  maxReplicas: 5
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70

4. Škálování databáze

Čtecí repliky (Azure)

az postgres flexible-server replica create \
  --resource-group rg-mazevault-prod \
  --replica-name psql-mazevault-replica-1 \
  --source-server psql-mazevault-prod

Connection Pooling

Pro nasazení s vysokou souběžností zvažte PgBouncer:

# pgbouncer.ini equivalent settings
pool_mode = transaction
max_client_conn = 400
default_pool_size = 25

5. Ladění výkonu

PostgreSQL

Parametr Malý (<10K tajemství) Střední (10K–100K) Velký (100K+)
shared_buffers 1 GB 4 GB 8 GB
effective_cache_size 3 GB 12 GB 24 GB
work_mem 16 MB 64 MB 128 MB
max_connections 100 200 400

Redis

Parametr Hodnota Popis
maxmemory 50–75 % dostupné RAM Limit paměti
maxmemory-policy allkeys-lru Politika vyřazování

Související