Upload
iosif-itkin
View
1.563
Download
1
Embed Size (px)
DESCRIPTION
Курс Лекций: Обеспечение Качества Программного Обеспечения Лекция 7: Высоконагруженные системы и тестирование производительности Максим Рудовский, Инновационные Трейдинговые Системы Иосиф Иткин, Exactpro Systems
Citation preview
Максим Рудовский, Инновационные Трейдинговые СистемыИосиф Иткин, Exactpro Systems
Курс Лекций:
Обеспечение Качества Программного Обеспечения
Лекция 7: Высоконагруженные системы и тестирование производительности
Содержание лекции
1.Характеристики высоконагруженных систем
2.Метрики производительности
3.Танки в Лунапарке и другая техника
4.Основные принципы нагрузочного тестирования
5.Вопросы
Характеристики высоконагруженных систем
• Времена отклика (Latency)• Пропускная способность (Throughput)• Емкость (Capacity)• Надежность (Fault Tolerance)• Устойчивость (Resiliency)• Масштабируемость (Scalability)• Управляемость (Operability)
http://www.ford.ru/SBE/Brochures/CarsBrochures/p=1204946495723
Времена отклика
97 us - среднее время отклика Turquoise MTF
300 us – Bloodhound SSC проезжает 10 см
1 ms - свет идет из Костромы в Москву
300 ms – мгновение ока
1 s – см. картинку про web
2 дня – Почта России
http://www.strangeloopnetworks.com/resources/infographics/why-luxury-websites-are-disappointing-chinese-consumers/acceptable-website-response-times/
http://en.wikipedia.org/wiki/Blink http://www.bloodhoundssc.com/project/car
Пропускная способность и емкость
55k mps – рынки по торговле акциями
4.1m mps – OPRA данные по опционам
13m mps – пиковая нагрузка на Facebook
72m – YouTube одновременный просмотр свадьбы
1.2b – планируемое количество новогодних фото FB
100Pb – объем данных по сообщению FB в SEC
Пропускная способность и емкость
55k mps – рынки по торговле акциями
4.1m mps – OPRA данные по опционам
13m mps – пиковая нагрузка на Facebook
72m – YouTube одновременный просмотр свадьбы
1.2b – планируемое количество новогодних фото FB
100Pb – объем данных по сообщению FB в SEC
6 Tb/s – средний объем скачивания порнографии
Надежность и устойчивость
Надежность –
Устойчивость –
Надежность и устойчивость
Надежность – способность сохранять требуемые
характеристики
Устойчивость – способность восстановиться
Надежность и устойчивость
Надежность – способность сохранять требуемые
характеристики
Устойчивость – способность восстановиться
Уроки Боевого крейсера «Галактика»
(Battlestar Galactica)
Надежность и устойчивость
Надежность – способность сохранять требуемые
характеристики
Устойчивость – способность восстановиться
http://en.battlestarwiki.org/wiki/Number_Eight
Масштабируемость
Горизонтальная Вертикальная
Биржа – 100 серверов
Google – 900к серверов
Сбербанк – 1 Oracle(но большой)
Управляемость
Мониторинг
Выгрузка новых версий
Конфигурирование
http://www.aerospace-technology.com/projects/bbj1/bbj14.html
Метрики производительности
• Roundtrip и внутренние задержки• Avg / Min / Max• Допустимое отклонение• Процентили• Загрузка оборудования
Метрики производительности
http://extentconf.com/ourstoryen/april2012infoen/presentationsen
Генераторы нагрузки
Классификация генераторов нагрузки по Яндексу:
http://www.slideshare.net/astenix/ss-5835773
Генераторы нагрузки
Классификация генераторов нагрузки по Яндексу:
http://www.slideshare.net/astenix/ss-5835773
Ограничения тестирования
Высокая нагрузка
Принципы нагрузочного тестирования
Больше всего обманывают до женитьбы, после охоты и во время выборов
Наш вариант: Больше всего обманывают до, после и во время нагрузочного тестирования
HЕ ВЕРЬ
• Тестовым инструментам• Что модель нагрузки правильная• Средним значениям задержек• Требованиям• Оценкам разработчиков• Ничему не верь
HЕ БОЙСЯ
• Сломать TEST-систему и вызвать у всех раздражение
• Понять, что все тесты, которые ты запускал, неправильные
• Перезапускать один и тот же тест много раз• Игнорировать утверждение, что PROD-
система быстрее и TEST-результаты можно экстраполировать
• Запускать тесты круглые сутки
HЕ БОЙСЯ
• Сломать TEST-систему и вызвать у всех раздражение
• Понять, что все тесты, которые ты запускал, неправильные
• Перезапускать один и тот же тест много раз• Игнорировать утверждение, что PROD-
система быстрее и TEST-результаты можно экстраполировать
• Запускать тесты круглые сутки
HЕ ПРОСИ
• Дать тебе тестовые инструменты• Дать тебе подтверждение, что PROD-система
настроена так же, как и TEST• Сказать тебе, до какого уровня доводить
нагрузку• Выдать тебе сценарии нагрузки системы,
которая уже в эксплуатации• Поддерживать систему, пока ты пускаешь
свои тесты• Понять, что ты не виноват в возникших
проблемах
Принципы нагрузочного тестирования
НЕ ВЕРЬ, НЕ БОЙСЯ, НЕ ПРОСИ
Вопросы и замечания?
http://www.highload.ru/
http://it-conf.ru/ru/sqadays_main/sqadays_10/sqa10_agenda/
http://highscalability.com/