Приклади роботи з jmeter в картинках, блог java програміста

Приклади роботи з jmeter в картинках, блог java програміста

Приблизно раз на рік у мене виникає необхідність проводити пробне тестування навантаження чергового проекту. Раніше доводилося стикатися з цим завданням частіше, але зараз більше часу йде на розробку під мобільні платформи (Android і т.д.) або створення програмного забезпечення для вирішення внутрішніх інфраструктурних завдань клієнтів.


В результаті кожен раз я судорожно згадую як працювати з jmeter-му. Скачую, запускаю і півдня згадую як його налаштовувати.

Відразу обмовлюся, я не професійний тестувальник і перевірка роботи веб-додатків під навантаженням не входить в мої прямі обов'язки.
Тому фраза "виникає необхідність" скоріше потрібно розуміти не як наказ начальника, а "мені дуже цікаво подивитися, що трапитися якщо." (Особливо якщо врахувати, що начальника у мене немає, але про це іншим разом).

Років 10-15 тому на одній зі своїх перших робіт для завдань навантажувального тестування ми використовували утиліту, яка здається так і називалася стрес-тул (на кшталт навіть мікрософтовская). Вона була проста і інтуїтивно зрозуміла. Тільки я її вже 10 років не бачив і не знаю, використовує її хто-небудь ще зараз.

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

2. Запускаємо. Додаємо Thread Group.

Приклади роботи з jmeter в картинках, блог java програміста

3. Додаємо приблизний HTTP запит

Приклади роботи з jmeter в картинках, блог java програміста

4. Вказуємо сервер і запит

Приклади роботи з jmeter в картинках, блог java програміста

4. Додаємо потрібний звіт. Вони бувають у вигляді таблички, дерева, графіка і т.д.

Приклади роботи з jmeter в картинках, блог java програміста

Усе. Тиснемо на зелений трикутник і дивимося звіт. Для збільшення навантаження міняємо параметри Thread Group.

про проксі

Щоб не писати руками все HTTP запити, можна зробити простіше:
1. Встановити вбудований в JMetter HTTP Proxy сервер.

Приклади роботи з jmeter в картинках, блог java програміста

2. Запустити проксі-сервер

Приклади роботи з jmeter в картинках, блог java програміста

3. Потім прописати цей проксі в настройках браузера.
4. Відкрити в цьому браузері потрібну сторінку сайту-жертви.
5. Зробити необхідні дії. Всі запити запишуться.
При необхідності відретушувати список запитів.

Далі залишиться тільки запустити JMeter, щоб він повторив все ваші дії десять тисяч разів (ну або скільки забажаєте).

Для того щоб можна було логінитися через форми, швидше за все знадобиться підтримка кукисов.
Для цього потрібно додати Cookie Manager. Важливо додати його в потрібне місце.

Приклади роботи з jmeter в картинках, блог java програміста

Ще раз про куки

Найцікавіше те, що cookie можуть лунати сайтом не зовсім вірні.
Наприклад, якщо ви захочете перевірити jmeter-му якийсь блог, то можливо у вас не вийде навіть залогінитися.
Суть проблеми описувати довго, зокрема, є деякі баги саме з WordPress -ом.
Тим не менш, є обхідний маневр - потрібно в настройках jmeter-а відключити перевірку cookies-ів.

Робиться так:
1. Відкривається файл jmeter.properties
2. Робиться його резервна копія
3. Вказуємо: CookieManager.check.cookies = false