# Performance Testing

> Спроектировать, выполнить или интерпретировать нагрузочную проверку задержек, ошибок, пропускной способности, ёмкости или регрессий. Применять для достоверности измерений и решений о приёмке; диагностика и оптимизация узкого места относятся к анализу производительности.

- Skill: `fbakiyev/performance-testing` (Agent Skill)
- Install (CLI): `npx skillmds@latest add fbakiyev/performance-testing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fbakiyev/performance-testing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: fbakiyev (https://skillmd.com/u/fbakiyev)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/fbakiyev/performance-testing

---


# Тестирование производительности

## Определить эксперимент

Задай состав операций, размеры и распределение входных данных, интенсивность запросов или параллелизм, длительность, прогрев, состояние кеша, окружение и критерии приёмки. Выбирай обычную, стрессовую, длительную или ограниченную регрессионную проверку под фактический вопрос. Не превращай каждую проверку задержки в тест насыщения.

## Обеспечить достоверность измерений

- Различай плановую и достигнутую нагрузку. Фиксированный набор клиентов, каждый из которых ждёт ответа, при замедлении сервиса может отправлять меньше запросов. Это не доказывает, что целевая интенсивность поддерживалась.
- Определи начало и конец измерения задержки, включая учёт очередей, повторов и таймаутов. Показывай ошибки вместе с задержками успешных ответов; быстрые отказы или исключённые медленные запросы не должны придавать неисправному запуску вид исправного.
- Наблюдай генератор нагрузки вместе с целевой системой. CPU генератора, ограничения соединений или конкуренция за тестовые данные могут ограничить нагрузку раньше, чем сервис достигнет своей ёмкости.
- Сохраняй сопоставимость окружений, наборов данных, состояния кеша и нагрузки базового варианта и кандидата. Отделяй прогрев от окна измерения; при различиях сообщай о них, а не приписывай результат изменению кода.
- При трактовке хвостовых задержек сохраняй группы операций и объёмы выборок. Не усредняй перцентили разных экземпляров так, будто это перцентиль всех запросов. При наличии используй совместимые сырые измерения или объединяемые распределения.
- Для проверок с существенным воздействием определи условия остановки и пределы ресурсов. Используй только разрешённое окружение и нагрузку; недоступность тестовой среды — ограничение, а не повод испытывать ёмкость production.

## Приёмка и результат

Оценивай заявленные критерии вместе: задержки, ошибки, успешную пропускную способность и существенные ограничения ресурсов. Запуск, ускорившийся только за счёт отклонения работы, не соответствует неизменной цели надёжности. Укажи, если объёма выборки или разброса между запусками недостаточно для заявленного вывода о хвосте распределения или регрессии.

Верни конфигурацию нагрузки, окно измерения, данные базового варианта и кандидата, достигнутую нагрузку, ошибки и решение pass/fail/inconclusive по каждому критерию. Гипотезы об узком месте обозначай отдельно: измеренное насыщение само по себе не показывает причину.

Если запрошен только план, подготовь выполнимый план с нужными сигналами и условиями остановки, не заявляя о проведённом нагрузочном тесте. `templates/performance-report.md` необязателен и используется при доступном репозитории.

