31
Особенности нагрузочного тестирования Web приложений Морозов Николай Технический директор Prolev Technologies

HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Embed Size (px)

Citation preview

Page 1: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Особенности нагрузочного тестирования Web

приложений

Морозов НиколайТехнический директор

Prolev Technologies

Page 2: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как все устроеноСовременное web

приложение – это сложный организм, в котором протекает большое

количество разнообразных процессов

Page 3: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как все устроено

• Загрузка\выгрузка данных•Обработка, шифрование и

архивирование

Page 4: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как все устроено• Взаимодействие между компонентами• Взаимодействие с другими

приложениями• Сервисные операции

Page 5: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Распределенность

• Разные компоненты работают на разных серверах• Сервера располагаются в

разных дата-центрах

Page 6: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Распределенность

•Дата – центры могут располагаться в разных странах

Page 7: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Важные нюансы

• Большое количество пользователей•Доступность 24 x 7

Page 8: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Важные нюансы

• Безопасность данных• Быстрый доступ с разных

устройств

Page 9: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Потенциальные проблемы

•Недоступность некоторых ресурсов•Медленный отклик системы

на действия пользователей

Page 10: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Потенциальные проблемы

•Физический отказ оборудования

Page 11: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как работает Twitter

• 600 млн сообщений в день• >500 млн пользователей• 135 тыс регистраций в день

Page 12: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как работает Twitter

• 9000 твитов в секунду• 10 млрд запросов в день• 50Гб новых данных в минуту

Page 13: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

Увеличение времени загрузки страницы на 1 сек

приводит:

Page 14: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

•Уменьшение просмотров страниц на 11%

Page 15: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

•Уменьшению удовлетворенности пользователей на 16%

Page 16: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

•При продажах в $100K/день годовой убыток $2.5М

Page 17: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

AMAZON.COM-100 мсек

+1% к годовой прибыли

Page 18: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

YAHOO.COM+400 мсек

-9% пользователей

Page 19: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Влияние на бизнес и пользователей

MOZILLA.ORG-2.2 sec

+60М загрузок Firefox в год

Page 20: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Реальная история провала

Проект Healthcare.gov“The greatest software development

disaster in history”2013

Page 21: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Реальная история провала«Нет смысла выставлять все в

розовом цвете. Сайт был слишком медленным. Люди застревали на этапе подачи

заявки. Я полагаю, справедливо будет сказать, что никто так не

негодует по этому поводу, как я»

Page 22: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как избежать проблем?

•Нагрузочное тестирование• Стресс – тестирование• Тестирование стабильности

Page 23: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как сделать?

• Типичные сценарии использования системы• Эмуляция действий

пользователя

Page 24: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Как сделать?

•Оценка размера и поведения аудитории•Подготовка тестового

окружения

Page 25: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Ответы на вопросы

• Временной отклик системы•Максимальное количество

пользователей

Page 26: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Ответы на вопросы

• Количество аппаратных ресурсов• Время наработки на отказ•Максимальная нагрузка

Page 27: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Когда проводить?

•Первичный запуск системы в публичное использование•Обновление ключевых

программных компонент

Page 28: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Когда проводить?

•Добавление или модернизация оборудования• Хакерские атаки на

конкурентов

Page 29: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Программное обеспечение

HP LoadRunner

Apache JMeter

LoadUI

Page 30: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Полезные ссылкиТеория и практика нагрузочного тестирования Яндекса:https://events.yandex.ru/events/meetings/load-testing-meetup/

Быстрое создание нагрузочных тестов на JMeter для web-сайтов:https://habrahabr.ru/post/126042/

Доклады о нагрузочном тестировании на конференции SQA Days 2015: http://rinauzhevko.blogspot.ru/2015/07/sqa-days_30.html

Page 31: HappyDev-lite-2016-весна 12 Николай Морозов. Особенности нагрузочного тестирования web-приложений

Контакты

Морозов Николай СергеевичProlev Technologies

Технический директорSkype: nmorozov

E-mail: [email protected]