Обзор
Документация perfscale
perfscale — это единый CLI для запуска нагрузочных тестов с k6, locust или собственным нативным шаговым движком perfscale — плюс небольшой локальный dev-сервер для сбора результатов.
С чего начать
- Начало работы — установка, первый запуск, первые результаты
- Справочник YAML — форматы
test.yaml/config.yaml - SDK для библиотек — создание WASM-библиотек генераторов значений на Rust, TypeScript или Go
CLI (бинарник perfscale)
- Команды — справочник по
run,serve,lintиschema - Рецепты — готовые примеры для типовых задач
- Бенчмарки — методология сравнения движков и запуски в CI
- MCP-сервер — управление perfscale из AI-агентов по протоколу Model Context Protocol
Ядро (библиотека perfscale-core)
- Архитектура — как части системы связаны между собой
- Раннеры — k6, locust, JMeter и нативный движок
- Действия —
std/http,std/tcp,std/udp,std/ws*(WebSocket),std/graphql(GraphQL),std/grpc*(gRPC),std/db-*(базы данных SQL),std/check,std/sleep,std/log,std/file-*,std/child_process,std/kill_process,std/set_shared_variable,std/get_shared_variable,std/thresholds - Setup и teardown — жизненный цикл
before:/after:, поток данныхconfig.*/vars.*, фоновые процессы - Импорты — сборка документов теста/конфига из общей
базы: локальные пути, HTTP-URL, git-репозитории; семантика слияния, кеширование
и защитный барьер
--allow-remote-import - Руководство по библиотекам — пользовательские генераторы
значений для токенов
${alias.fn(...)}: встроенный@std/random, WASM-компоненты, sandbox на основе capability и создание собственных библиотек с SDK для Rust / TypeScript / Go - Метрики —
http_req_*, строки[stats], пользовательские счётчики/гистограммы,--quiet, пересылка сводки - Руководство по WebSocket — сессии, живые соединения, RTT сообщений, проверки
- Руководство по GraphQL — запросы/мутации, валидация схемы через интроспекцию
- Руководство по gRPC — динамические схемы (reflection / descriptor set), унарные вызовы, потоки
- Руководство по разделяемым переменным — разделяемое изменяемое состояние между VU: счётчики, очереди producer/consumer, барьеры
- Руководство по метрикам GPU — загрузка/VRAM/температура/потребление
во время прогона, источники
nvidia-smiи dcgm-exporter - Руководство по JMeter — headless-запуск существующих планов
.jmx, транслированная k6-совместимая сводка, параметризация, ограничения - Docker — готовые к запуску образы ghcr.io (варианты slim и со встроенным k6), монтирование сценариев, рецепты для CI
- Kubernetes — Helm-чарт агента perfscaled (DaemonSet, политика fleet-библиотек, том кеша) и разовые CLI-задачи Jobs
Для контрибьюторов
- README репозитория — структура, локальная разработка, сборки релизов
- Примеры — запускаемые примеры файлов для каждого движка
- JSON Schemas — сгенерированные схемы для автодополнения в редакторе