Q
QUN GUARDIAN
Испытательная лаборатория · Node / Storage
Лаборатория надёжности
Запускай изолированные тесты хранилища и локальной модели нагрузки, изучай отчёты GitHub Actions, проверяй целостность и восстановление. Никаких тестов против производственной сети: нагрузочный сценарий выполняется на временном узле GitHub Actions.
Безопасная граница. Текущий стенд — прототип, не production. Этот интерфейс не показывает выдуманные live-метрики и не запускает тест сам по себе. Кнопка открывает GitHub Actions, где запуск нужно подтвердить вручную. Внешние/боевые адреса нагрузочный скрипт блокирует по умолчанию.
Профиль A
100
Базовая проверка
Юнит-тесты, репликация, SHA-256, чтение и запись синтетических объектов.
Открыть и запустить CIПрофиль B
250–500
Проверка устойчивости
Повторные операции с настраиваемой конкуренцией. Следи за p95/p99, ошибками и временем выполнения.
Выбрать профиль в ActionsПрофиль C
1 000
Предел текущего стенда
Максимальный профиль одного CI-запуска. Это 1 000 виртуальных клиентов, не физических устройств.
Запустить после базовогоКак запустить тест
- Открой GitHub Actions и выбери workflow QUN Node Local Load Test.
- Нажми Run workflow и выбери ветку
main. - Выбери клиентов: 100 → 250 → 500 → 1 000; concurrency: 5/10/20/50; rounds: 1/2/3/5.
- Нажми Run workflow. Дождись зелёного статуса и открой журнал шага Synthetic local load test.
- Если тест красный — открой лог и артефакт
qun-node-failure-log. Не увеличивай нагрузку до исправления ошибки.
Профиль ограничен 1 000 виртуальными клиентами на одном запуске. Для 10k–1M нужны распределённые генераторы нагрузки, отдельная тестовая инфраструктура, бюджетные лимиты и автоматическое аварийное завершение.
Критерии приёмки Node + Storage
| Проверка | Условие успеха |
|---|---|
| Unit + replication tests | Все тесты зелёные |
| Целостность объектов | Хеш и размер совпадают |
| Возврат отключённого узла | Реплики восстанавливаются |
| Повреждённый объект/манифест | Повреждение обнаружено, копия восстановлена |
| Нагрузка | 0 ошибок; фиксируются p50/p95/p99 и пропускная способность |
| Безопасность | Нет публичного bind, секретов в логах и доступа без авторизации |