Производительность
Batching: тест на воспроизведение
Воспроизведение бьёт перечитывание. На каждый промпт скажи или запиши полный ответ по памяти, прежде чем открыть модельный — усилие припоминания и закрепляет материал.
Восстанови костяк юнита — модель фиксированной цены, окно с двумя триггерами, математику speedup, почему компрессии нужен batching, политики переполнения и attack surface границы батча — не подглядывая в уроки.
- 01Зачем нужен batching, какова модель цены и где он НЕ окупается?
- 02Выведи формулу speedup и объясни, где она идёт в N, а где в 1.
- 03Зачем окну батчинга нужны и max-size, и max-wait, и что диагностирует, какой триггер сработал?
- 04Пройди ступени ingestion в Postgres и объясни, почему компрессии сначала нужен batching.
- 05Продьюсер обгоняет консьюмера и ограниченная очередь полна. Сравни block, drop и spill-to-disk и скажи, как выбирать.
- 06Почему per-batch idempotency небезопасна и как CVE-2023-34455 обобщает правило безопасности границы батча?
Если ты смог восстановить каждый ответ по памяти — ты держишь костяк юнита: batching превращает N·(F + V) в F + N·V и окупается только при доминирующей фиксированной цене, глубине очереди и запасе latency; окно с двумя триггерами (size для throughput, time для latency) размеряется под SLO и валидируется на реплее трафика; speedup идёт в N, когда доминирует F, и в 1, когда V, break-even на элемент при F = V·n; Postgres лезет INSERT → multi-row → COPY, и компрессия едет поверх толстых батчей; ограниченные очереди выбирают block, drop или spill как продуктовое решение; а граница батча — attack surface, валидируемый post-decompression и per-item.