[TEST-PERF-02] Нагрузочное тестирование ИИ-шлюзов и проверка лимитов CPU Ollama
Тестирование: Нагрузка и Стабильность
NoteКраткая карточка задачи
- Компоненты: Весь ИИ-контур (Порты
11435,11436,11437,11438). - Инструменты: Apache JMeter / k6 (на JavaScript).
- Тип задачи: QA / Performance Testing.
- Статус: В анализе
Описание задачи
Поскольку локальные модели машинного обучения (Llama 3.2 Vision, Whisper, Qwen) развернуты в Docker на базе вычислений CPU, они имеют жесткий предел пропускной способности. Необходимо провести нагрузочное тестирование ИИ-шлюзов, определить точку отказа (Crash Point) и верифицировать стабильность работы жестких таймаутов (20 и 40 секунд).
Инструкция по шагам
- Подготовка тестовых семплов: Сформировать набор статических данных: одну картинку чека в Base64 (для Vision шлюза) и один аудиофайл
.wavв Base64 (для STT шлюза). - Написание скрипта k6 (Пример сценария): Написать нагрузочный скрипт, имитирующий постепенное увеличение параллельных пользователей (Ramping-up Virtual Users):
- Этап 1: 1 пользователь (baseline).
- Этап 2: 5 параллельных запросов в секунду (нормальная нагрузка).
- Этап 3: 20 параллельных запросов (пиковая нагрузка).
- Метрики для контроля (Ожидаемый результат):
- Убедиться, что при превышении времени ожидания в 40 секунд Python-шлюз не падает по внутреннему Error 500, а стабильно возвращает структуру
fallback_response. - Зафиксировать потребление памяти и утилизацию ядер процессора на хост-машине через
docker stats.
- Убедиться, что при превышении времени ожидания в 40 секунд Python-шлюз не падает по внутреннему Error 500, а стабильно возвращает структуру