Оптимізація продуктивності в розподілених застосунках

Вантажиться...
Ескіз

Дата

2021

Назва журналу

Номер ISSN

Назва тому

Видавець

КПІ ім. Ігоря Сікорського

Анотація

Метою даної роботи було створення методики аналізу розподіленого застосунку, результатом застосування якої є рекомендації щодо оптимізації його продуктивності. Створена методика була використана для надання рекомендації щодо оптимізації реального розподіленого застосунку. З багатьох варіантів було обрано сайт Internet-магазину, власник якого лише нещодавно почав застосовувати цей канал продаж у своєму бізнесі. Розподілений за стосунок магазину було розроблено із застосуванням сучасних технологій, зокрема, з орієнтацією на можливість обслуговування, наряду з сайтом, мобільних додатків. Крім того, технічне завдання на розробку сайту вимагало великої кількості можливостей, які створюють додаткові зручності для користувачів сайту, а отже підвищують їх лояльність. Зокрема, це можливість оформлювати замовлення без попередньої реєстрації та надання персональних даних, потужний механізм інтелектуального пошуку товарів не тільки за назвою, але й за ключовими словами, велика кількість зображень високої якості. В результаті, питанням продуктивності всієї системи в цілому надавалося вкрай мало уваги, більше того, під час початкової експлуатації кількість користувачів була невеликою, що дозволяло застосунку справлятися з існуючим навантаженням. Однак з часом швидкість роботи системи почала зменшуватись, тому власник сайту поставив задачу з'ясувати, що саме і яким чином треба поліпшити в системі, щоб вирішити наявні проблеми з продуктивністю. В результаті було створено набір тестів продуктивності на основі системи тестування продуктивності Locust із застосуванням мови програмування Python. Такий набір сам по собі можна розглядати, як незалежний, хоча і дуже спеціалізований програмний продукт. За допомогою цього продукту було визначено межу навантаження, після якої система переходила в стан відмови в обслуговуванні, а також з'ясована, яка з частин застосунку є найбільш критичною з точки зору продуктивності, а отже, вимагає першочергової оптимізації. Нарешті, на підставі отриманих результатів було надано рекомендації щодо самої оптимізації. В цілому, створену методику можна застосовувати для аналізу і оптимізації продуктивності інших розподілених застосунків. Загальний обсяг роботи: 103 сторінок, 28 рисунків, 11 таблиць, 11 посилань

Опис

Ключові слова

розподілений застосунок, тестування, продуктивність, оптимізація, Python, Locust, distributed application, testing, performance, optimization

Бібліографічний опис

Марченко, І. Ю. Оптимізація продуктивності в розподілених застосунках : дипломна робота ... бакалавра : 122 Комп'ютерні науки / Марченко Ірина Юріївна. – Київ, 2021. – 103 с.

DOI