|
|
Опубликовано 17.03.2025 15:31:01
|
|
|
|

Требования: Проведите стресс-тест интерфейса с помощью K6.
обзор
Инструмент K6
K6 — это современный инструмент для нагрузочного тестирования, основанный на нашем многолетнем опыте в индустрии производительности и тестирования. Он мощный, масштабируемый и богат функциями. Главная цель дизайна — обеспечить лучший опыт для разработчиков.
Основные его особенности:
Настраиваемая генерация нагрузки. Даже недорогие машины могут имитировать большие объёмы трафика. Тест по коду. Повторное использование скриптов, модульной логики, контроля версий и интеграция тестов с CI. Полнофункциональный API. API скриптов включает множество функций, которые помогают моделировать реальный трафик приложений. Встроенный JavaScript-движок. Попробуйте производительность, знакомство с JavaScript-скриптами. Поддержка нескольких протоколов. HTTP, WebSockets, gRPC, браузеры и т.д. Масштабируемая экосистема. Вы можете удлинить K6 под свои нужды. Многие уже поделились своими дополнениями с сообществом! Гибкое хранение метрик и визуализация. Агрегируйте статистику или детализированные метрики и экспортируйте их в сервис по своему выбору. Нативная интеграция с облаком Grafana. SaaS-решения для выполнения тестов, корреляции метрик, анализа данных и многого другого.
Это нагрузочное тестирование для XXI века.
Документация:Вход по гиперссылке виден. Адрес исходного кода:Вход по гиперссылке виден. Скачать для Windows:Вход по гиперссылке виден.
Тест
Создайте новый скрипт конфигурации test.js со следующим кодом:
Выполните тест, команда:
Подробное объяснение вывода
- сценарии: Кратко опишите работу тестового скрипта; Опишите, сколько тестовых случаев, наибольшее количество виртуальных пользователей и максимальная продолжительность выполнения.
- data_received: Количество полученных данных
- data_sent: Объём передаваемых данных
- http_req_blocked: Время, которое было заблокировано до начала запроса
- http_req_connecting: Время, необходимое для установления TCP-соединения с удалённым хостом
- http_req_duration: Общее время подачи запроса. Это равно http_req_sending + http_req_waiting + http_req_receiving важных метрик
- http_req_failed: Процент неудачных запросов
- http_req_receiving: Время, необходимое для получения данных ответа от удалённого хоста без первоначального DNS-поиска/времени подключения
- http_req_sending: Время, необходимое для отправки данных на удалённый хост
- http_req_tls_handshaking: Время, необходимое для установления сессии TLS, пожав руку удалённому хосту
- http_req_waiting: Время, проведённое в ожидании ответа удалённого хозяина
- http_reqs: Общее количество запросов TPS
- iteration_duration: Время, необходимое для завершения полной итерации функции по умолчанию/основной функции
- Итерации: количество исполнений функции в скрипте
- vus: Количество виртуальных пользователей, которые сейчас активны
- vus_max: Максимальное количество виртуальных пользователей
- проверки: Процент успеха пункта чеков
Поддерживаются результаты вывода: Amazon CloudWatch, Cloud, CSV, Datadog, Dynatrace, Elasticsearch, Grafana Cloud Prometheus, InfluxDB, JSON, Netdata, New Relic, Prometheus, TimescaleDB, StatsD, ссылка:Вход по гиперссылке виден. |
Предыдущий:.NET/C# использует алгоритм SM3 для генерации сигнатурСледующий:NVIDIA DGX Spark, суперкомпьютер NVIDIA AI, принимает предзаказы
|