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

Preview:

Citation preview

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

Влад Алюков

2

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

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

3

SLA

4

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

5

Цели

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

6

Стратегия

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

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

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

7

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

8

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

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

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

9

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

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

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

10

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

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

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

11

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

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

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

12

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

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

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

13

14

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

Метрики

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

15

LoadAverage

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

16

Время ответа

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

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

17

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

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

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

18

19

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

Прогрев

20

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

21

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

22

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

multi-mechanize locustio jmeter grinder tsung

23

24

Вопросы?

25

DevOps

26

Причины

27

Проблемы

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

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

Идеология

28

29

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

30

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

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

31

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

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

32

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

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

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

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

33

CMS

Chef Puppet CFEngine Ansible SaltStack

34

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

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

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

35

Chef

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

36

Knife

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

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

37

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

38

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

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

39

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

Vagrant test-kitchen Serverspec Chefspec

40

Мониторинг

41

Мониторинг

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

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

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

42

Мониторинг

Логи Logstash/graylog

Метрики Graphite/statsd

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

43

Вопросы?

Recommended