25
Максим Рудовский, Инновационные Трейдинговые Системы Иосиф Иткин, Exactpro Systems Курс Лекций: Обеспечение Качества Программного Обеспечения Лекция 7: Высоконагруженные системы и тестирование производительности

КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Embed Size (px)

DESCRIPTION

Курс Лекций: Обеспечение Качества Программного Обеспечения Лекция 7: Высоконагруженные системы и тестирование производительности Максим Рудовский, Инновационные Трейдинговые Системы Иосиф Иткин, Exactpro Systems

Citation preview

Page 1: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Максим Рудовский, Инновационные Трейдинговые СистемыИосиф Иткин, Exactpro Systems

Курс Лекций:

Обеспечение Качества Программного Обеспечения

Лекция 7: Высоконагруженные системы и тестирование производительности

Page 2: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Содержание лекции

1.Характеристики высоконагруженных систем

2.Метрики производительности

3.Танки в Лунапарке и другая техника

4.Основные принципы нагрузочного тестирования

5.Вопросы

Page 3: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Характеристики высоконагруженных систем

• Времена отклика (Latency)• Пропускная способность (Throughput)• Емкость (Capacity)• Надежность (Fault Tolerance)• Устойчивость (Resiliency)• Масштабируемость (Scalability)• Управляемость (Operability)

http://www.ford.ru/SBE/Brochures/CarsBrochures/p=1204946495723

Page 4: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Времена отклика

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

Page 5: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Пропускная способность и емкость

55k mps – рынки по торговле акциями

4.1m mps – OPRA данные по опционам

13m mps – пиковая нагрузка на Facebook

72m – YouTube одновременный просмотр свадьбы

1.2b – планируемое количество новогодних фото FB

100Pb – объем данных по сообщению FB в SEC

Page 6: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Пропускная способность и емкость

55k mps – рынки по торговле акциями

4.1m mps – OPRA данные по опционам

13m mps – пиковая нагрузка на Facebook

72m – YouTube одновременный просмотр свадьбы

1.2b – планируемое количество новогодних фото FB

100Pb – объем данных по сообщению FB в SEC

6 Tb/s – средний объем скачивания порнографии

Page 7: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Надежность и устойчивость

Надежность –

Устойчивость –

Page 8: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Надежность и устойчивость

Надежность – способность сохранять требуемые

характеристики

Устойчивость – способность восстановиться

Page 9: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Надежность и устойчивость

Надежность – способность сохранять требуемые

характеристики

Устойчивость – способность восстановиться

Уроки Боевого крейсера «Галактика»

(Battlestar Galactica)

Page 10: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Надежность и устойчивость

Надежность – способность сохранять требуемые

характеристики

Устойчивость – способность восстановиться

http://en.battlestarwiki.org/wiki/Number_Eight

Page 11: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Масштабируемость

Горизонтальная Вертикальная

Биржа – 100 серверов

Google – 900к серверов

Сбербанк – 1 Oracle(но большой)

Page 12: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Управляемость

Мониторинг

Выгрузка новых версий

Конфигурирование

http://www.aerospace-technology.com/projects/bbj1/bbj14.html

Page 13: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Метрики производительности

• Roundtrip и внутренние задержки• Avg / Min / Max• Допустимое отклонение• Процентили• Загрузка оборудования

Page 14: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Метрики производительности

http://extentconf.com/ourstoryen/april2012infoen/presentationsen

Page 15: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Генераторы нагрузки

Классификация генераторов нагрузки по Яндексу:

http://www.slideshare.net/astenix/ss-5835773

Page 16: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Генераторы нагрузки

Классификация генераторов нагрузки по Яндексу:

http://www.slideshare.net/astenix/ss-5835773

Page 17: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Ограничения тестирования

Page 18: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Высокая нагрузка

Page 19: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Принципы нагрузочного тестирования

Больше всего обманывают до женитьбы, после охоты и во время выборов

Наш вариант: Больше всего обманывают до, после и во время нагрузочного тестирования

Page 20: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

HЕ ВЕРЬ

• Тестовым инструментам• Что модель нагрузки правильная• Средним значениям задержек• Требованиям• Оценкам разработчиков• Ничему не верь

Page 21: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

HЕ БОЙСЯ

• Сломать TEST-систему и вызвать у всех раздражение

• Понять, что все тесты, которые ты запускал, неправильные

• Перезапускать один и тот же тест много раз• Игнорировать утверждение, что PROD-

система быстрее и TEST-результаты можно экстраполировать

• Запускать тесты круглые сутки

Page 22: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

HЕ БОЙСЯ

• Сломать TEST-систему и вызвать у всех раздражение

• Понять, что все тесты, которые ты запускал, неправильные

• Перезапускать один и тот же тест много раз• Игнорировать утверждение, что PROD-

система быстрее и TEST-результаты можно экстраполировать

• Запускать тесты круглые сутки

Page 23: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

HЕ ПРОСИ

• Дать тебе тестовые инструменты• Дать тебе подтверждение, что PROD-система

настроена так же, как и TEST• Сказать тебе, до какого уровня доводить

нагрузку• Выдать тебе сценарии нагрузки системы,

которая уже в эксплуатации• Поддерживать систему, пока ты пускаешь

свои тесты• Понять, что ты не виноват в возникших

проблемах

Page 24: КГТУ Лекция 7: Обеспечение Качества Программного Обеспечения

Принципы нагрузочного тестирования

НЕ ВЕРЬ, НЕ БОЙСЯ, НЕ ПРОСИ