Upload
happydev-lite
View
148
Download
2
Embed Size (px)
Citation preview
Особенности нагрузочного тестирования 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: [email protected]