43
Нагрузочное тестирование Влад Алюков

Тестирование весна 2014 смешанное занятие 3

Embed Size (px)

Citation preview

Page 1: Тестирование весна 2014 смешанное занятие 3

Нагрузочное тестирование

Влад Алюков

Page 2: Тестирование весна 2014 смешанное занятие 3

2

Нагрузочное тестирование

Page 3: Тестирование весна 2014 смешанное занятие 3

Нагрузочное тестирование

3

Page 4: Тестирование весна 2014 смешанное занятие 3

SLA

4

Page 5: Тестирование весна 2014 смешанное занятие 3

Нервные пользователи

5

Page 6: Тестирование весна 2014 смешанное занятие 3

Цели

Поиск узких мест Оценка допустмых пределов Определение границ QoS

6

Page 7: Тестирование весна 2014 смешанное занятие 3

Стратегия

Проработка модели нагрузки Создание профилей нагрузки

Генерация нагрузки Мониторинг тестируемых систем

Анализ результатов

7

Page 8: Тестирование весна 2014 смешанное занятие 3

Профили нагрузки

8

Page 9: Тестирование весна 2014 смешанное занятие 3

Модель нагрузки

Список профилей нагрузки Интенсивность выполнения операции Зависимость интенсивности операций

от времени выполнения

9

Page 10: Тестирование весна 2014 смешанное занятие 3

Профиль нагрузки

Определение сценариев нагрузки Определение точек нагрузки Определение количества

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

10

Page 11: Тестирование весна 2014 смешанное занятие 3

Точки нагрузки

Определение точек нагрузки Технические точки нагрузки Функциональные точки нагрузки

Определение интенсивности выполнения операций

11

Page 12: Тестирование весна 2014 смешанное занятие 3

Технические точки нагрузки

Работа с базой (модификация сущностей)

Задействуют несколько подсистем приложения

12

Page 13: Тестирование весна 2014 смешанное занятие 3

Функциональные точки нагрузки

Критический важные функции вашего приложения

Регистрация Логин Основные бизнес-кейсы

13

Page 14: Тестирование весна 2014 смешанное занятие 3

14

Анализ результатов

Page 15: Тестирование весна 2014 смешанное занятие 3

Метрики

Время отклика Количество ошибок Disk IO (tps, kb/t) RAM (memory use) CPU LA

15

Page 16: Тестирование весна 2014 смешанное занятие 3

LoadAverage

Количество процессов в очереди Временной интервал 1/5/15 минут

16

Page 17: Тестирование весна 2014 смешанное занятие 3

Время ответа

Стремится к нормальному распределению

С наименьшим среднеквадратичным отклонением

17

Page 18: Тестирование весна 2014 смешанное занятие 3

Типичные проблемы

Input/Output Недостаточно производительный

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

18

Page 19: Тестирование весна 2014 смешанное занятие 3

19

Типичные ошибки

Page 20: Тестирование весна 2014 смешанное занятие 3

Прогрев

20

Page 21: Тестирование весна 2014 смешанное занятие 3

Среднее арифметическое

21

Page 22: Тестирование весна 2014 смешанное занятие 3

Только протоколы

22

Page 23: Тестирование весна 2014 смешанное занятие 3

Достойные инструменты

multi-mechanize locustio jmeter grinder tsung

23

Page 24: Тестирование весна 2014 смешанное занятие 3

24

Вопросы?

Page 25: Тестирование весна 2014 смешанное занятие 3

25

DevOps

Page 26: Тестирование весна 2014 смешанное занятие 3

26

Причины

Page 27: Тестирование весна 2014 смешанное занятие 3

27

Проблемы

«У меня всё работает» Конфликт интересов

разработчиков/операторов Отложенный фидбек

Page 28: Тестирование весна 2014 смешанное занятие 3

Идеология

28

Page 29: Тестирование весна 2014 смешанное занятие 3

29

We build, we run Configuration management Мониторинг

Page 30: Тестирование весна 2014 смешанное занятие 3

30

Практическая реализация

Автоматиазция Тестирование автоматизации

Page 31: Тестирование весна 2014 смешанное занятие 3

31

Автоматизация

Консистентность среды Известное состояние среды

Page 32: Тестирование весна 2014 смешанное занятие 3

32

Автоматизация

Автоматизируемые задачи Собрки (Continuous Integration)

Тестирование Deploy (Continuous Deployment)

Конфигурация Откат

Page 33: Тестирование весна 2014 смешанное занятие 3

33

CMS

Chef Puppet CFEngine Ansible SaltStack

Page 34: Тестирование весна 2014 смешанное занятие 3

34

Инфраструктура как код

Версионирование Масштабирование сред Управляемые изменения в тестовых и

производственных средах

Page 35: Тестирование весна 2014 смешанное занятие 3

35

Chef

Кукбук Атрибуты Ресурсы Рецепты Шаблоны Файлы

Page 36: Тестирование весна 2014 смешанное занятие 3

36

Knife

Управление состоянием chef server Интеграция с внешними API Управление кукбуками и их

репозитарием

Page 37: Тестирование весна 2014 смешанное занятие 3

37

Автоматизация

Page 38: Тестирование весна 2014 смешанное занятие 3

38

Автоматизация

Любая автоматизаия производимая непосредственно вами нуждается в тестировании

Page 39: Тестирование весна 2014 смешанное занятие 3

39

Тестирование конфигурации

Vagrant test-kitchen Serverspec Chefspec

Page 40: Тестирование весна 2014 смешанное занятие 3

40

Мониторинг

Page 41: Тестирование весна 2014 смешанное занятие 3

41

Мониторинг

Метрики Определяйте/Изучайте/Улучшайте

Поиск проблем Планирование нагрузки Анализ деградации/улучшения сервиса

Сокращая, таким образом, feedback loop

Page 42: Тестирование весна 2014 смешанное занятие 3

42

Мониторинг

Логи Logstash/graylog

Метрики Graphite/statsd

Системы мониторинга Nagios/Zabbiz Cucumber-nagios

Page 43: Тестирование весна 2014 смешанное занятие 3

43

Вопросы?