# Tracking Server

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Понять назначение, устройство и практику использования компонента **Tracking Server** в MLflow.

## Предварительно

- [02 — Архитектура](../02-arhitektura/README.md)

## Время

**2–3 ч**

---

## Назначение

**Tracking Server** — центральный сервис MLflow, предоставляющий **REST API** и **Web UI** для записи и поиска экспериментов.

## Запуск (учебный)

```bash
mlflow server \
  --backend-store-uri sqlite:///mlflow.db \
  --default-artifact-root ./artifacts \
  --host 127.0.0.1 \
  --port 5000
```

Откройте `http://127.0.0.1:5000` — список experiments и runs.

## Production-конфигурация

| Параметр | Рекомендация |
|----------|--------------|
| backend-store-uri | PostgreSQL (не SQLite) |
| default-artifact-root | `s3://bucket/prefix/` |
| workers | Несколько uvicorn/gunicorn workers |
| TLS | За ingress / reverse proxy |

## Docker (концепт)

```dockerfile
FROM python:3.11-slim
RUN pip install mlflow psycopg2-binary boto3
EXPOSE 5000
CMD ["mlflow", "server", "--host", "0.0.0.0", "--port", "5000"]
```

Переменные окружения для URI передавайте через orchestrator (K8s Secrets), не хардкодьте.

## Масштабирование

- Stateless server → горизонтальное масштабирование
- Bottleneck часто в **artifact upload** — используйте multipart S3
- DB connection pool настроить под число workers

## Мониторинг сервера

- Health: HTTP 200 на `/health` (зависит от версии) или простой GET UI
- Метрики: latency API, ошибки 5xx, размер artifact store
- Алерты на заполнение диска (если локальные artifacts)

## Типичные проблемы

| Симптом | Причина |
|---------|---------|
| Runs не видны в UI | Клиент пишет в другой `tracking_uri` |
| Медленный UI | Тысячи runs без фильтров — чистите старые |
| 403 на S3 | Неверные IAM credentials у сервера |

---

## Самопроверка

1. Кратко опишите роль «Tracking Server» в MLflow.
2. Назовите типичную ошибку при работе с этим компонентом.
3. Как этот компонент связан с соседними?

---

## Дальше

→ [Backend Store](backend-store.md)
