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

Автор: Точ Ростислав Володимирович
Кваліфікаційний рівень: магістр
Спеціальність: Інженерія програмного забезпечення
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2022-2023 н.р.
Мова захисту: англійська
Анотація: Основна мета магістерської кваліфікаційної роботи – розроблення симулятора навантажувального тестування для прогнозування та аналізу роботи веб-сервісу. Робота складається з чотирьох розділів та чотирьох додатків: аналіз та огляд існуючих рішень для рішення задачі симуляції навантажувального тестування системи, аналіз розв’язків задачі симуляції навантажувального тестування системи, реалізація симулятора навантажувального тестування системи, практичні результати дослідження симуляції навантажувального тестування та їх аналіз. Під час огляду літератури було знайдено кілька засобів для генерації навантаження на веб-сервіс, що дозволить розробити симулятор навантажувального тестування, а саме генератор запитів. Під час аналізу підходів до розв’язку задачі симуляції навантажувального тестування системи були розглянуті різні підходи для генерації трафіку користувачів, повністю описано алгоритм роботи симулятора навантажувального тестування та обрано бібліотеку для відображення отриманих метрик. У третьому розділі описано розроблений симулятор навантажувального тестування системи, який за лічені секунди може симулювати роботи великої системи, відображати метрики та прогнозувати можливі збої у роботі. Було отримано результати дослідження кількох симуляцій та проаналізовано переваги і недоліки кожної з систем, які були використані під час симуляції навантажувального тестування. Найкращою з наявних систем виявився динамічний кластер, який виконав усі запити користувачів успішно та виявився найдешевшим серед протестованих систем. Також було проведено огляд можливих подальших досліджень. Обсяг роботи без додатків становить 60 сторінок. Ключові слова: симуляція, навантажувальне тестування, трафік користувачів, Rust, Tauri, React, Typescript.