Сценарій

Навантажувальне тестування реальними браузерами на вашому сайті

Генератор запитів надсилає запити; реальний браузер ще завантажує скрипти, зображення, шрифти і сторонні теги та викликає ваші API так, як це робить фронтенд. Генератор трафіку дає таке навантаження на ваш сайт в обсязі й у години, які ви обираєте, щоб ви бачили сервер, CDN і базу даних до приходу справжніх відвідувачів.

Спрямовуйте навантаження лише на сайти, якими ви володієте або на тестування яких маєте письмовий дозвіл. Умови використання забороняють перевантажувати за допомогою YOOtraffic чужі сайти.

Що показує браузерне навантаження

Навантаження від усієї сторінки

Генератор запитів вимірює, як швидко сервер відповідає на URL. Браузерна сесія ще завантажує всі ресурси, виконує JavaScript сторінки, викликає API, до яких звертається фронтенд, і запускає кожен сторонній тег, тому перевіряє правила кешування, CDN і скрипти, а не лише сервер.

Це добра перевірка нового релізу, переїзду на новий хостинг чи CDN або шаблону, до якого додали важкі скрипти, з тим набором пристроїв і браузерів, який є у ваших відвідувачів.

Чого воно не замінює

Генератор трафіку задає, скільки сесій прийде за день і в які години, а не точне зростання запитів за секунду. Для стрес-тесту до відмови або точної кривої одночасних з'єднань використовуйте поруч протокольний інструмент, наприклад k6, JMeter або Locust.

Робочий поділ: протокольний інструмент знаходить стелю кожного ендпоінта, а браузерні сесії показують, як тримається вся сторінка за того трафіку, на який ви реально очікуєте.

Лише на своєму сайті

Давайте навантаження лише на сайт, яким ви володієте або на тестування якого маєте письмовий дозвіл, і перевірте, чи не вимагає хостинг попереджати його про навантажувальний тест. Умови використання забороняють перевантажувати через сервіс будь-які чужі сайти.

Починайте помітно нижче рівня, який вас турбує, і підвищуйте його між прогонами, щоб проблема проявилася трендом на графіках, а не відмовою сайту.

Приклад: репетиція запуску

Магазин переїжджає на новий хостинг перед сезонним розпродажем і хоче побачити, як нова конфігурація витримає завантажений вечір. Репетиція проганяє стиснуту версію такого вечора на новому хостингу при відкритому моніторингу магазину.

Налаштування кампанії
Цільовий URLГоловна сторінка на новому хостингу, з переходами категоріями і картками товарів
Обсяг і розклад2 000 сесій за 2 години, близько 17 нових сесій за хвилину
Тривалість сесіїВід 180 до 300 секунд
Глибина перегляду4 сторінки за сесію, усього близько 8 000 завантажень сторінок
ПристроїЧастка мобільних і десктопів, яку аналітика показує для магазину
КраїнаКраїна, на яку розрахований розпродаж
Джерело трафікуПряме, щоб прогін було легко відокремити від кампаній в аналітиці

Що дивитися під час прогону

  • Час відповіді за шляхами в лозі доступу, наприклад поле часу запиту в nginx, за медіаною і для найповільніших 5 відсотків
  • Частку відповідей 5xx і таймаутів за шляхами
  • Частку влучань у кеш CDN: сторінка, яка мала б кешуватися, але щоразу доходить до сервера, видна тут першою
  • Процесор, пам'ять і відкриті з'єднання на сервері та в базі даних, а також лог повільних запитів
  • Помилки сторонніх скриптів і API-викликів, які робить фронтенд

Вартість репетиції: 2 000 сесій тривалістю від 180 до 300 секунд оплачуються по $0.0024 за кожну, це середнє між найкоротшою і найдовшою сесією, разом $4.80 за прогін.

Як провести навантажувальну репетицію

  1. 01

    Зафіксуйте базову лінію

    До першого прогону запишіть час відповіді, частку помилок і використання ресурсів за звичайного трафіку в ті самі години.

  2. 02

    Почніть із частини навантаження

    Першу партію запустіть на частку від цільового обсягу, подивіться графіки і підвищте обсяг для наступного прогону. Між прогонами змінюйте щось одне: обсяг, години або охоплені сторінки.

  3. 03

    Спостерігайте і зупиняйте за потреби

    Тримайте дашборди відкритими, поки йде прогін. Кампанію можна призупинити в будь-який момент, і час паузи нічого не коштує.

  4. 04

    Порівняйте з базовою лінією

    Зіставте кожну метрику прогону з базовою лінією. Результат репетиції в тому, що деградує першим і за якого обсягу.

Що показує браузерне навантажувальне тестування, а що ні

Що робить

  • Дає повні завантаження сторінок на ваш власний сайт: ресурси, скрипти, API-виклики і сторонні теги, з реальних браузерів
  • Дозволяє задати денний обсяг, години, набір пристроїв і шляхи та повторити той самий прогін після виправлення
  • Показує у вашому власному моніторингу, як поводяться сервер, CDN і база даних за очікуваного трафіку

Чого не робить

  • Не дає точного зростання запитів за секунду і стрес-тесту до відмови: для цього потрібен протокольний інструмент
  • Не тестує сайти, якими ви не володієте або на тестування яких не маєте дозволу: умови забороняють перевантажувати чужі сайти
  • Не перевіряє вхід і оформлення замовлення: сесії не авторизуються, не заповнюють форми і не платять

Правила використання, обробка даних і обмеження, спільні для всіх інструментів, описані в Центрі довіри

Інструмент у цьому прикладі

Сесії дає Генератор трафіку з оплатою за сесію за ставкою, яка залежить від заданої тривалості сесії. Повна таблиця ставок на сторінці цін.

Генератор трафіку

FAQ

Питання про навантажувальне тестування

Відрепетируйте до запуску

Зафіксуйте базову лінію, запустіть невелику партію на свій сайт і підвищуйте обсяг між прогонами