Ресурсный бюджет стенда на 16 ГБ #12
Notifications
Due Date
No due date set.
Blocks
#14 Кластер: где живёт опыт менти и какая топология
ddmitry/clickstream-ch-kafka-superset-demo
Reference: ddmitry/clickstream-ch-kafka-superset-demo#12
Reference in New Issue
Block a user
Part of #10
Тело не переносилось: issue закрыт задолго до переноса, оригинал остался на GitHub (аккаунт заблокирован 2026-07-26). Название сохранено ради сквозной нумерации и ссылок #NN.
Гист резолюции (из карты): полный стенд в покое ≈3,4 ГБ; 2×1 добавляет ≈0,6–0,8 ГБ (влезает свободно), 2×2 — ≈1,7–1,9 ГБ (влезает, но впритык к дефолтному бюджету WSL2 ~8 ГБ); координатором брать clickhouse-keeper, не ZooKeeper.
Резолюция (дословный перенос с GitHub, автор dementev-dev):
Ресурсный бюджет стенда на 16 ГБ (issue #12)
Кратко: замерил память полного стенда (11 контейнеров), прикинул добавку второго узла ClickHouse и координатора (Keeper/ZooKeeper), сравнил с бюджетом WSL2 на ноутбуке 16 ГБ.
Как мерил
make up(10 сервисов) + Superset (уже был поднят) = 11 контейнеров.docker stats --no-streamдважды с разницей в минуту — цифры не менялись, стенд стабилен в состоянии покоя (без активного ETL и без генератора живого трафика).docker system dfдля диска.Важная оговорка: это память в состоянии покоя (idle). Во время реальных запросов, ETL-прогона в Airflow или отрисовки дашборда в Superset потребление памяти может быть заметно выше. Ниже — оценка "снизу", не пиковая нагрузка.
Память по контейнерам (стенд в покое)
Генератор живого трафика (
generator, профильlive-generator) в замер не попал — он не поднимается командойmake up. Если менти параллельно гоняет генератор, добавится ещё немного памяти сверху (отдельно не мерил).CPU у всех контейнеров в покое был низким (в основном до 1–4%) — по процессору стенд не узкое место, узкое место — память.
Диск (докладом, не основной вопрос)
docker system dfна этой машине показывает много образов от посторонних проектов — они не в счёт. Только для стенда:clickhouse-data≈ 194 МБ,kafka-data≈ 1,6 ГБ (объём зависит от того, сколько данных прогнали через Kafka — сейчас раздутый после предыдущих сессий),pgmeta≈ 79 МБ,grafana_lib≈ 25 МБ.Диск на ноутбуке 16 ГБ обычно не проблема (сотни гигабайт свободно), поэтому дальше в отчёте — только память.
Добавка: второй узел ClickHouse + координатор
Взял память замеренного
clickhouse-контейнера (511 МБ) как оценку на один узел того же типа.Координатор (Keeper или ZooKeeper) не поднимал — оценка по типовым значениям, не измерение:
clickhouse-learning-cluster/docker-compose.yml: образzookeeper:3.9.3, JVM, без явного ограничения кучи) — тяжелее и менее предсказуем, в покое обычно ≈ 250–400 МБ, может расти без явного лимита-Xmx.Для учебного стенда на 16-гигабайтном ноутбуке разумнее взять clickhouse-keeper: он легче по памяти и не тянет отдельную технологию (JVM) только ради координации — для менти это и проще как для памяти, так и для понимания.
2×1 (2 шарда, без реплик)
Добавка: +1 узел ClickHouse (511 МБ) + 1 координатор.
2×2 (2 шарда × 2 реплики = 4 узла ClickHouse)
Добавка: +3 узла ClickHouse (3 × 511 МБ) + 1 координатор.
Сводка по бюджету ноутбука 16 ГБ (WSL2)
По умолчанию WSL2 отдаёт себе примерно половину физической памяти хоста, то есть на 16-гигабайтном ноутбуке это около 8 ГБ (если менти не менял
.wslconfig). При явно увеличенном лимите берём 12 ГБ. Windows и браузер на хосте забирают память из этого же физического пула, но не из бюджета WSL напрямую — они снижают запас, только если общий объём ОЗУ хоста прижат к пределу.Выводы:
.wslconfig); на дефолтных настройках — рискованно.Как мерил "второй узел" и координатор — метод
Не поднимал реальный второй узел ClickHouse или ZooKeeper — так как по условию задачи разрешены docker-операции только над текущим demo-стендом. Оценка сделана как:
Если нужна точная цифра по координатору — можно измерить на
~/sources/clickhouse-learning-cluster(там уже есть готовый docker-compose с ZooKeeper), это отдельная небольшая задача.