42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# Runbook: Масштабирование
|
|
|
|
## Когда масштабироваться
|
|
|
|
| Метрика | Действие |
|
|
|---------|----------|
|
|
| CPU > 80% постоянно | Увеличить VPS (больше ядер) |
|
|
| RAM > 80% | Увеличить VPS (больше RAM) |
|
|
| DB > 10M записей | Индексы → шардинг |
|
|
| Response time p95 > 1s | Кэширование (Redis) → реплики БД |
|
|
|
|
## Vertical scaling (проще)
|
|
|
|
```bash
|
|
# 1. Остановить сервис
|
|
systemctl stop voidea
|
|
|
|
# 2. Увеличить ресурсы VPS (через панель управления)
|
|
|
|
# 3. Запустить
|
|
systemctl start voidea
|
|
```
|
|
|
|
## Horizontal scaling (сложнее)
|
|
|
|
```bash
|
|
# 1. Поставить Nginx как load balancer
|
|
# 2. Запустить несколько инстансов uvicorn на разных портах
|
|
# 3. Настроить shared Redis кэш
|
|
# 4. Настроить репликацию PostgreSQL
|
|
```
|
|
|
|
## Celery worker
|
|
|
|
```bash
|
|
# Запустить с большим числом воркеров
|
|
celery -A app.tasks worker --concurrency=4 -l info
|
|
|
|
# Для длительных задач — отдельная очередь
|
|
celery -A app.tasks worker -Q analysis -c 2 -l info
|
|
```
|