HappyDev-lite-2016-весна 12 Николай Морозов. Особенности...

Post on 14-Apr-2017

148 views 2 download

Transcript of HappyDev-lite-2016-весна 12 Николай Морозов. Особенности...

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

приложений

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

Prolev Technologies

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

устройств

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

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

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

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

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

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

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

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

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

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

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

приводит:

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

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

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

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

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

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

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

AMAZON.COM-100 мсек

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

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

YAHOO.COM+400 мсек

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

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

MOZILLA.ORG-2.2 sec

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

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

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

disaster in history”2013

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

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

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

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

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

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

Как сделать?

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

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

Как сделать?

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

окружения

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

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

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

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

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

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

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

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

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

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

конкурентов

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

HP LoadRunner

Apache JMeter

LoadUI

Полезные ссылкиТеория и практика нагрузочного тестирования Яндекса: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

Контакты

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

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

E-mail: nmorozov@outlook.com