Блог перформанс-інженера Костянтина Шейдаєва

Smoke load тест - перший, обовʼязковий крок

Jul 01, 2025

> Що таке Smoke load тест?

> Коли запускати Smoke load тест?

> Основні принципи

1. Швидкий і слабкий, як секс твоєї з колишнім Ваша задача - перевірити, що все працює. Ця перевірка повинна бути непомітною і швидкою. Навантаження: 3-5 rps або 1-2 VUs, саме то. Тривалість: від 30 секунд до 2 хвилин.

2. Не забувай про прелюдію Якщо при запуску на холодну систему потрібно розігрітися, запустити сервіси і завантажити буфери - ок, дай їй цю можливість. Зазвичай 1 rps/VU і 15-20 секунд - більш ніж достатньо.

Тобто ідеальний smoke тест має вигляд:

Smoke load test

> Smoke load тест для k6

import http from 'k6/http';
import { check, sleep } from 'k6';

export const options = {
  stages: [
    { duration: '15s', target: 1 }, // Прогрів: 1 VU, 15 секунд (прибрати, якщо прогрів не потрібен)
    { duration: '1m', target: 2 },  // Тест: 2 VU, 1 хвилина
  ],
};

export default () => {
  const urlRes = http.get('https://sheidaev.com/');
  check(urlRes, { 'status returned 200': (r) => r.status == 200 });
};

> Аналіз результатів

  1. Шукай і виправляй помилки в скрипті
  2. Шукай і виправляй помилки в оточенні теста:
    • Генератор навантаження
    • Мережа
    • Система, що тестується
  3. Переконайся, що твій скрипт справді створює навантаження:
    • Залогуй запити і відповіді
    • Провалідуй їх очима

Якщо твій smoke test показує нуль помилок і результати продуктивності здаються прийнятними, можна переходити до інших типів тестів.

> Висновок

Це обов’язковий перший крок у будь-якому процесі навантажувального тестування. Не пропускай цей етап - він заощадить тобі купу часу на налагодження скриптів пізніше.