[TEST-PERF-02] Нагрузочное тестирование ИИ-шлюзов и проверка лимитов CPU Ollama

Тестирование: Нагрузка и Стабильность

Published

October 14, 2026

NoteКраткая карточка задачи
  • Компоненты: Весь ИИ-контур (Порты 11435, 11436, 11437, 11438).
  • Инструменты: Apache JMeter / k6 (на JavaScript).
  • Тип задачи: QA / Performance Testing.
  • Статус: В анализе

Описание задачи

Поскольку локальные модели машинного обучения (Llama 3.2 Vision, Whisper, Qwen) развернуты в Docker на базе вычислений CPU, они имеют жесткий предел пропускной способности. Необходимо провести нагрузочное тестирование ИИ-шлюзов, определить точку отказа (Crash Point) и верифицировать стабильность работы жестких таймаутов (20 и 40 секунд).

Инструкция по шагам

  1. Подготовка тестовых семплов: Сформировать набор статических данных: одну картинку чека в Base64 (для Vision шлюза) и один аудиофайл .wav в Base64 (для STT шлюза).
  2. Написание скрипта k6 (Пример сценария): Написать нагрузочный скрипт, имитирующий постепенное увеличение параллельных пользователей (Ramping-up Virtual Users):
    • Этап 1: 1 пользователь (baseline).
    • Этап 2: 5 параллельных запросов в секунду (нормальная нагрузка).
    • Этап 3: 20 параллельных запросов (пиковая нагрузка).
  3. Метрики для контроля (Ожидаемый результат):
    • Убедиться, что при превышении времени ожидания в 40 секунд Python-шлюз не падает по внутреннему Error 500, а стабильно возвращает структуру fallback_response.
    • Зафиксировать потребление памяти и утилизацию ядер процессора на хост-машине через docker stats.