Швидкі та прості засоби навантажувального тестування

Швидке тестування навантаження може бути дуже важливим навіть на етапах розробки стартапів або різних хакатонах. Це може бути корисним для вибору платформи та технологій.

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

Звісно, можна йти стандартним шляхом – взяти JMeter, написати невеликий скрипт обходу основних сторінок з основною функціональністю анонімним користувачем – потім удосконалити, паралельно вирішуючи питання як грамотно запустити це на кількох клієнтський машинах. Але це займає певну кількість часу, якого може бути не так багато.

Тут перераховані утиліти типу JMeter та сервіси по організації тестування. З цього списку найбільш цікавими є Load Impact, LoadStorm та Neustar, які ми розглянемо трохи нижче.


Load Impact

Якщо потрібно зовсім по-швидкому – то Load Impact це Ваш вибір, не треба реєстрації, просто потрібно зайти, ввести адресу сайту і протягом 10-15 хвилин 50 віртуальних користувачів тестують вашу сторінку. Просто, але це принаймні дозволить побачити що при першому ж напливі користувачів все пройде вдало. Також видає досить корисну інформацію і статистику сайту. Для прикладу візьмемо сайт myrasp.com.

Можна отримати просту статистику (аналог Graph Result з полями Average та Throughput у Apache JMeter):

Список посилань:

Та статистику кількості контенту сайту та часу обробки:



LoadStorm
Робота з LoadStorm походить наступним чином:
1. Реєструємося
2. Створюємо тест, в якому вказуємо сайт, який будемо тестувати
3. Перш ніж почати тест, потрібна верифікація (щоб підтвердити тестування власного сайту). Для цього треба на головну сторінку покласти певний текст з кодом, або файл з певним ім’ям в корінь сервера.
4. Далі створюємо сценарій, при створенні сценарію описуємо, як користувач йде по вашому сайту, які посилання натискає, можна заповнити певні форми. Все досить інтуїтивно і зрозуміло.
5. Потім кажемо коли запустити і в призначений час тест запускається. Протягом 30 хвилин до 50-ти користувачів “тестують” Ваш сайт відповідно до Ваших вказівок, після чого утиліта видає звіт.

Загалом на опис сценарію з 15 послідовних сторінок, очікування запуску тесту і очікування самих результатів пішло приблизно півтори годин, в результаті яких отримали графіки типу:

На цьому графіку показується як тестувалася система – в моєму випадку максимально було 47 користувачів і трохи більше 3-х запитів в секунду
Ну і найцікавіший:

З якого випливає, що якщо виключити максимальний пік в 5 секунд (в цей момент увімкнувся Garbage Collector), то сайт поводить себе добре, і на початковому етапі не залежить від кількості користувачів, при навантаженні сайту в 50 залишається нормальний запас.

Зрозуміло, що таке тестування не надто складне та така кількість одночасних користувачів не є серйозним навантаженням, але, враховуючи витрачений час (півтори години) і гроші (0 грн) – результат цілком адекватний. Принаймні ми переконалися що навіть якщо з продуктивністю і є певні проблеми – в найближчі місяці ми її не побачимо.


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

  1 коментар до “Швидкі та прості засоби навантажувального тестування

  1. Юля
    9 Червня, 2015 at 02:53

    Сподобався перший сайт. Швидко і зручно!

We #StandWithUkraine.
Learn how you can help too!

#Stand­With­Ukraine

We don't know how long the war will last. But what we do know is that we can't stand aside and watch.

The fastest way you can help too is to support Ukraine financially. The National Bank of Ukraine (NBU) has opened a multi-currency account for that purpose. Learn more

This account accepts donations in US, Canadian and Australian dollars, euros, British pounds, Swiss francs, yuan and yen.

UA823000010000032302338301027

Also accepting cryptocurrency donations – the fastest way to help. Learn more

BTC – 357a3So9CbsNfBBgFYACGvxxS6tMaDoa1P

ETH, USDT (ERC-20) – 0x165CD37b4C644C2921454429E7F9358d18A45e14

Spread the word!