П
Про Мир IT
@pro_mir_it1.3K подп.
636просмотров
48.8%от подписчиков
26 ноября 2025 г.
📷 ФотоScore: 700
🚀 Первый нагрузочный сценарий Если вы успешно установили k6(качаем с гитхаб), давайте сделаем простенький базовый нагрузочный сценарий. Перед тем как перейти к коду, создайте отдельный каталог, в котором будете хранить свои скрипты. Откройте консоль — например, PowerShell — и перейдите в этот каталог. Не переживайте, если вы не знаете JavaScript — мы не будем писать код с нуля. Я воспользуюсь специальной «песочницей» от Grafana - QuickPizza. В её GitHub‑репозитории лежит масса готовых шаблонов. Для примера я возьму скрипт 01.basic.js и слегка скорректирую BASE_URL , чтобы он указывал на QuickPizza: import http from "k6/http"; import { check, sleep } from "k6"; const BASE_URL = "https://quickpizza.grafana.com"; export const options = { vus: 5, duration: '5s', }; export default function () { let restrictions = { maxCaloriesPerSlice: 500, mustBeVegetarian: false, excludedIngredients: ["pepperoni"], excludedTools: ["knife"], maxNumberOfToppings: 6, minNumberOfToppings: 2 }; let res = http.post(${BASE_URL}/api/pizza, JSON.stringify(restrictions), { headers: { "Content-Type": "application/json", "Authorization": "token abcdef0123456789", }, }); check(res, { "status is 200": (r) => r.status === 200 }); console.log(${res.json().pizza.name} (${res.json().pizza.ingredients.length} ingredients)); sleep(1); } Далее сохраняем в созданном каталоге как basic.js или любое другое имя. Затем в терминале(например PowerShell) выполняем команду: k6 run basic.js Начнется выполнение нагрузки. По завершении которой прямо в терминале вам будет выведен отчет по метриках. Как читать эти метрики мы поговорим в будущих постах и видео 🥸 📊 Что делает этот сценарий В options указываются настройки нагрузки: 5 виртуальных пользователей, продолжительность 5 секунд. Ну и функция в которой заложено выполнение простенького бизнес сценария: Отправляется POST запрос с параметрами пиццы, которую мы хотим заказать. - Каждый из 5 пользователей отправляет запрос на API QuickPizza параллельно друг-другу на протяжении 5 секунд. - Скрипт проверяет, что сервер отвечает со статусом 200 OK. - Выводит название и количество ингредиентов у сгенерированной пиццы. И самое важное - собирает метрики: время отклика, процент ошибок, количество запросов в секунду. 🎯 Зачем это нужно QuickPizza крайне простое приложение, поэтому и скрипт нагрузки тоже крайне простой, но уже полезный! Что он нам показывает - что API действительно работает под нагрузкой, - что бизнес‑логика (ограничения на пиццу) учитывается, - и как быстро сервис отвечает при одновременных запросах. Повторюсь это базовый сценарий, но он уже даёт полезную информацию: можно увидеть время отклика, процент ошибок и убедиться, что сервис не ломается при росте трафика. Как дополнение вы уже можете посмотреть графики в Grafana. Но учтите это демо площадка и само приложение и Grafana может ужасно глючить. У меня при подготовке поста Grafana жутко тормозила. На этом пока всё! Пишите о ваших успехах в комментариях. Если, что-то не получилось тоже пишите! И, конечно, если пост понравился и хочется продолжения - кидайте реакцию! 🔥 🌐 Сайт | 💼 LinkedIn | 📘 Курс по Postman
636
просмотров
3237
символов
Да
эмодзи
Да
медиа

Другие посты @pro_mir_it

Все посты канала →
🚀 Первый нагрузочный сценарий Если вы успешно установили k6 — @pro_mir_it | PostSniper