Оптимізація продуктивності в розподілених застосунках
Вантажиться...
Дата
2021
Автори
Науковий керівник
Назва журналу
Номер ISSN
Назва тому
Видавець
КПІ ім. Ігоря Сікорського
Анотація
Метою даної роботи було створення методики аналізу розподіленого
застосунку, результатом застосування якої є рекомендації щодо оптимізації
його продуктивності. Створена методика була використана для надання
рекомендації щодо оптимізації реального розподіленого застосунку.
З багатьох варіантів було обрано сайт Internet-магазину, власник якого
лише нещодавно почав застосовувати цей канал продаж у своєму бізнесі.
Розподілений за стосунок магазину було розроблено із застосуванням сучасних
технологій, зокрема, з орієнтацією на можливість обслуговування, наряду з
сайтом, мобільних додатків. Крім того, технічне завдання на розробку сайту
вимагало великої кількості можливостей, які створюють додаткові зручності
для користувачів сайту, а отже підвищують їх лояльність. Зокрема, це
можливість оформлювати замовлення без попередньої реєстрації та надання
персональних даних, потужний механізм інтелектуального пошуку товарів не
тільки за назвою, але й за ключовими словами, велика кількість зображень
високої якості.
В результаті, питанням продуктивності всієї системи в цілому надавалося
вкрай мало уваги, більше того, під час початкової експлуатації кількість
користувачів була невеликою, що дозволяло застосунку справлятися з
існуючим навантаженням. Однак з часом швидкість роботи системи почала
зменшуватись, тому власник сайту поставив задачу з'ясувати, що саме і яким
чином треба поліпшити в системі, щоб вирішити наявні проблеми з
продуктивністю.
В результаті було створено набір тестів продуктивності на основі системи
тестування продуктивності Locust із застосуванням мови програмування
Python. Такий набір сам по собі можна розглядати, як незалежний, хоча і дуже
спеціалізований програмний продукт. За допомогою цього продукту було
визначено межу навантаження, після якої система переходила в стан відмови в
обслуговуванні, а також з'ясована, яка з частин застосунку є найбільш
критичною з точки зору продуктивності, а отже, вимагає першочергової
оптимізації. Нарешті, на підставі отриманих результатів було надано
рекомендації щодо самої оптимізації. В цілому, створену методику можна
застосовувати для аналізу і оптимізації продуктивності інших розподілених
застосунків.
Загальний обсяг роботи: 103 сторінок, 28 рисунків, 11 таблиць, 11
посилань
Опис
Ключові слова
розподілений застосунок, тестування, продуктивність, оптимізація, Python, Locust, distributed application, testing, performance, optimization
Бібліографічний опис
Марченко, І. Ю. Оптимізація продуктивності в розподілених застосунках : дипломна робота ... бакалавра : 122 Комп'ютерні науки / Марченко Ірина Юріївна. – Київ, 2021. – 103 с.