Нагрузочное тестирование
Влад Алюков
2
Нагрузочное
тестирование
Нагрузочное тестирование
3
SLA
4
Нервные пользователи
5
Цели
 Поиск узких мест
 Оценка допустмых пределов
 Определение границ QoS
6
Стратегия
 Проработка модели нагрузки
 Создание профилей нагрузки
 Генерация нагрузки
 Мониторинг тестируемых систем
...
Профили нагрузки
8
Модель нагрузки
 Список профилей нагрузки
 Интенсивность выполнения операции
 Зависимость интенсивности операций
от вре...
Профиль нагрузки
 Определение сценариев нагрузки
 Определение точек нагрузки
 Определение количества пользователей
10
Точки нагрузки
 Определение точек нагрузки
 Технические точки нагрузки
 Функциональные точки нагрузки
 Определение инт...
Технические точки нагрузки
 Работа с базой (модификация сущностей)
 Задействуют несколько подсистем
приложения
12
Функциональные точки
нагрузки
 Критический важные функции вашего
приложения
 Регистрация
 Логин
 Основные бизнес-кейсы...
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 Deploymen...
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
Мониторинг
 Метрики
 Определяйте/Изучайте/Улучшайте
 Поиск проблем
 Планирование нагрузки
 Анализ деградации/улучш...
42
Мониторинг
 Логи
 Logstash/graylog
 Метрики
 Graphite/statsd
 Системы мониторинга
 Nagios/Zabbiz
 Cucumber-nagios
43
Вопросы?
Upcoming SlideShare
Loading in …5
×

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

211 views
161 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
211
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Нагрузочное тестирование Влад Алюков
  2. 2. 2 Нагрузочное тестирование
  3. 3. Нагрузочное тестирование 3
  4. 4. SLA 4
  5. 5. Нервные пользователи 5
  6. 6. Цели  Поиск узких мест  Оценка допустмых пределов  Определение границ QoS 6
  7. 7. Стратегия  Проработка модели нагрузки  Создание профилей нагрузки  Генерация нагрузки  Мониторинг тестируемых систем  Анализ результатов 7
  8. 8. Профили нагрузки 8
  9. 9. Модель нагрузки  Список профилей нагрузки  Интенсивность выполнения операции  Зависимость интенсивности операций от времени выполнения 9
  10. 10. Профиль нагрузки  Определение сценариев нагрузки  Определение точек нагрузки  Определение количества пользователей 10
  11. 11. Точки нагрузки  Определение точек нагрузки  Технические точки нагрузки  Функциональные точки нагрузки  Определение интенсивности выполнения операций 11
  12. 12. Технические точки нагрузки  Работа с базой (модификация сущностей)  Задействуют несколько подсистем приложения 12
  13. 13. Функциональные точки нагрузки  Критический важные функции вашего приложения  Регистрация  Логин  Основные бизнес-кейсы 13
  14. 14. 14 Анализ результатов
  15. 15. Метрики  Время отклика  Количество ошибок  Disk IO (tps, kb/t)  RAM (memory use)  CPU  LA 15
  16. 16. LoadAverage  Количество процессов в очереди  Временной интервал 1/5/15 минут 16
  17. 17. Время ответа  Стремится к нормальному распределению  С наименьшим среднеквадратичным отклонением 17
  18. 18. Типичные проблемы  Input/Output  Недостаточно производительный генератор нагрузки 18
  19. 19. 19 Типичные ошибки
  20. 20. Прогрев 20
  21. 21. Среднее арифметическое 21
  22. 22. Только протоколы 22
  23. 23. Достойные инструменты  multi-mechanize  locustio  jmeter  grinder  tsung 23
  24. 24. 24 Вопросы?
  25. 25. 25 DevOps
  26. 26. 26 Причины
  27. 27. 27 Проблемы  «У меня всѐ работает»  Конфликт интересов разработчиков/операторов  Отложенный фидбек
  28. 28. Идеология 28
  29. 29. 29  We build, we run  Configuration management  Мониторинг
  30. 30. 30 Практическая реализация  Автоматиазция  Тестирование автоматизации
  31. 31. 31 Автоматизация  Консистентность среды  Известное состояние среды
  32. 32. 32 Автоматизация  Автоматизируемые задачи  Собрки (Continuous Integration)  Тестирование  Deploy (Continuous Deployment)  Конфигурация  Откат
  33. 33. 33 CMS  Chef  Puppet  CFEngine  Ansible  SaltStack
  34. 34. 34 Инфраструктура как код  Версионирование  Масштабирование сред  Управляемые изменения в тестовых и производственных средах
  35. 35. 35 Chef  Кукбук  Атрибуты  Ресурсы  Рецепты  Шаблоны  Файлы
  36. 36. 36 Knife  Управление состоянием chef server  Интеграция с внешними API  Управление кукбуками и их репозитарием
  37. 37. 37 Автоматизация
  38. 38. 38 Автоматизация  Любая автоматизаия производимая непосредственно вами нуждается в тестировании
  39. 39. 39 Тестирование конфигурации  Vagrant  test-kitchen  Serverspec  Chefspec
  40. 40. 40 Мониторинг
  41. 41. 41 Мониторинг  Метрики  Определяйте/Изучайте/Улучшайте  Поиск проблем  Планирование нагрузки  Анализ деградации/улучшения сервиса  Сокращая, таким образом, feedback loop
  42. 42. 42 Мониторинг  Логи  Logstash/graylog  Метрики  Graphite/statsd  Системы мониторинга  Nagios/Zabbiz  Cucumber-nagios
  43. 43. 43 Вопросы?

×