Навантажувальне тестування
Вибір метрик (виявлення основних критеріїв успішності проведених тестів: час відгуку, інтенсивність запитів, використовувані ресурси (завантаження процесора і т.д.) максимальна кількість користувачів, що одночасно працюють з додатком)
Аналіз цільової аудиторії (аналіз загальноприйнятих критеріїв продуктивності; аналіз продуктивності конкуруючих додатків; аналіз експертної думки розробників, системних і мережевих адміністраторів, адміністраторів баз даних та інженерів з тестування навантаження; аналіз очікувань груп користувачів)
Розробка сценаріїв дій користувачів (з урахуванням виявлених груп користувачів і архітектури додатку)
Профілювання навантажень (набір операцій та інтенсивність їх виконання для кожної користувальницької групи)
Навантаження сайту, зняття метрик
Аналіз результатів навантаження, звіт
Сайт для навантажувального тестування - інтернет-магазин.
Рис. 1. Зовнішній вигляд навантажувати сайту.
Основні дії користувачів на сайті - перегляд інформації про товари. Передбачувана кількість відвідувачів сайту - 400 на добу.
Розбиття навантаження по класах:
перегляд статичних сторінок (статичні дані)
перегляд каталогу товарів (читання з бази даних)
Для емуляції дій користувачів використовується інструмент Jmeter.
Для навантаження даного сайту створена одна група користувачів.
Запити будуть відправлятися по черзі на наступні сторінки:
1. Головну сторінку сайту
2. Популярний товар 1
. Популярний товар 3
. Сторінка «Контакти»
Створення тестів виглядає наступним чином:
Рис. 2. Jmeter. Налаштування запитів
Рис. 3. Jmeter. Параметризація навантаження.
плагін моніторинг навантажувальний тестування
Метрики продуктивності
. Споживання ресурсів центрального процесора
. Споживання оперативної пам'яті
. Споживання мережевих ресурсів
. Час виконання запиту
Для заміри метрик 1-3 установливается плагін на стороні сервера (Nagios). Для заміри метрики 4 в Jmeterподключаются слухачі (Listener), такі як SummaryReportі ViewResultsTree.
Запити кожного користувача відправляються послідовно. Наприклад, спочатку 50 користувачів одночасно відправляють перший запит. Кожен чекає своєї відповіді і тільки після цього відправляється наступний запит.
Для аналізу роботи сервера були обрані дві моделі навантаження:
Модель 1. Режим продуктивної роботи системи.
Емуляція роботи середньої кількості користувачів протягом тривалого періоду.
Параметризація:
Постійне кількість відвідувачів 200 в теченііполовіни години. Модель використовується для перевірки стабільності роботи сервера в тривалому режимі.
Модель 2. Стресовий режим роботи.
Робота сервера в стресовому режимі зі збільшенням числа відвідувачів до моменту відмови сервера.
Параметризація:
Поступово зростаюча кількість віртуальних користувачів - додавання 40 відвідувачів сайту кожну хвилину до моменту «падіння» сайту. Модель використовується для визначення максимально можливої ??кількості одночасних підключень до сервера і його відновлення після відмови в роботі. Результати навантаження:
Таблиця 1. Модель 1
ЗапросКол-во запросовСреднее час відгуку, сПроцент помилок,% Головна сторінка сайта2205613811Страніца товару 12152812510Страніца товару 2208921418Страніца контакти203761406TOTAL848521369
Підсумки тестування
Під час тестування проводилося додатково тестування вручну. Сторінки відкривалися дуже повільно, видавалися помилки бази даних. Результат тестування очевидна - продуктивність сайту не відповідає вимогам. За результатами таблиці 1 можна бачити, що час відгуку неприйнятно велике. Реальні користувачі не стануть чекати відкриття сторінки по дві хвилини. Потрібно оптимізація продуктивності. Для виявлення «вузького» місця в системі потрібне проведення до...