Обзор

Документация perfscale

perfscale — это единый CLI для запуска нагрузочных тестов с k6, locust или собственным нативным шаговым движком perfscale — плюс небольшой локальный dev-сервер для сбора результатов.

С чего начать

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 — сгенерированные схемы для автодополнения в редакторе