Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

CodeFest 2011. Нугуманов Н. — Нагрузочное тестирование: Как?

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

CodeFest 2011. Нугуманов Н. — Нагрузочное тестирование: Как?

  1. 1. Нагрузочное тестирование: как? Нурлан Нугуманов Инженер нагрузочного тестирования Codefest, Новосибирск, 19-20 марта 2011 года 1Цель НТ - дать достоверный прогноз жизни сервиса:летит сервис или не летит. И что самое _важное_ - будет ли он лететь в будущем, когдасервису привинтят новые фишки
  2. 2. 4 ЭТАПА СТАНДАРТНОГО ЦИКЛА НТ Анализ Что тестируем? Создание ТО Где это будет? Выполнение Как же именно тестируем? тестов Осмысление И что теперь? 2Тесты занимают 20-30% от всего времени.Выполнение тестов - важнейший этап, дающий данные для анализа
  3. 3. Нагрузка Время выполнения теста 3Отвечает на вопрос: Когда сломается?”“+” Длительность теста <15m“-” Оценка приблизительна. Неясна причина поломки: нагрузка или периодическиесобытия? Выборка времен ответов в каждый момент времени мала.
  4. 4. Нагрузка Время выполнения теста 4Отвечает на вопрос: “Работает сервис на данной нагрузке?”Позволяет: 1) увидеть периоды, 2) оценить стабильность сервиса (есть ли деградация), 3)получить выборку времен ответов--На ОчДлинном тесте: точное понимание как работает сервис, оценка стабильности/деградации.На коротком тесте: только получение выборки данных для оценки времен ответов.--К вопросу о минимальной длительности теста для сбора достоверных данных -> кМатCтату
  5. 5. Нагрузка Время выполнения теста 5Грубая оценка поведения на линейном участке и точная оценка “где сломается”“-” Не видим стабильность“+” Быстрый и достаточно точный тест
  6. 6. Нагрузка Время выполнения теста 6Ответ на вопрос:”Как ведет себя сервис если нужно _быстро_ выделить ресурсы?”а) сломается совсем, б) долгие ответы, в) очередь + 503 на все что не влезло в очередь--при очень узком пике можно ничего не увидеть
  7. 7. Нагрузка Время выполнения теста 7Stress (на этапе роста нагрузки) + Recovery (на спаде).Смотрим:1) Как сломается (корка, 500)2) Как починится (сам, watchdog, звонок админу)3) Как быстро починитсяШирина постоянных нагрузок - должна быть достаточной для завершения переходныхпроцессов
  8. 8. Объем данных в БД 3 2 1 Тесты 8Ответ на вопрос: “Что будет при росте объема хранимых данных?”Серия тестов на каждом объеме данных
  9. 9. Объем данных в БД 3 2 1 Тесты 8Ответ на вопрос: “Что будет при росте объема хранимых данных?”Серия тестов на каждом объеме данных
  10. 10. 9
  11. 11. 10
  12. 12. “Как совместитьгоризонтальнуюи наклоннуюпалочки?” 11
  13. 13. 12Нужно давать время на1) прогрев кешей2) время на выделение ресурсов
  14. 14. 13При подаче нагрузки без прогрева будут выбросы.
  15. 15. Нагрузка Время выполнения теста 14Подробно наблюдаем когда перестают выполнятся требования SLA и когда сервисломается напрочь
  16. 16. Нагрузка Время выполнения теста 15
  17. 17. Нагрузка Время выполнения теста 16Оценка поведения при росте нагрузки и скорость восстановления при различных повеличине нагрузках.Примеры:а) балансер по кол-ву открытых соединенийб) root.yandex.ru - нагрузка созданная людьмив) отказ одного из ДЦ. “Водопроводчики на экскаваторе”
  18. 18. Мильон тестов.. 17Подумайте, на какой вопрос даст ответ вам ваш тест
  19. 19. Метрики: времена ответов 18Поговорим о времени.Что считать временем ответа?пример: 10rps -> ~10 _разных_ значений времен обработки запросов каждую секунду.Что для этого сервиса есть время ответа?
  20. 20. Среднее время ответа Нагрузка Время выполнения теста 19Среднее время рулит? (ведь кажется, что все наглядно, легко посчитать)
  21. 21. Среднее время ответа Нагрузка Время выполнения теста 20Выраженных пиков тоже не видно. Запускаемся?
  22. 22. login 1s 2s 3s 4s 5s 6s 7s 8s 9s 10s 11s 12s show note 1s 2s 3s 4s 5s 6s 7s 8s 9s 10s 11s 12s show all 1s 2s 3s 4s 5s 6s 7s 8s 9s 10s 11s 12s 21Смотрим на сервис подробнее:разные классы запросов
  23. 23. login avg = 0.4s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s show note avg = 0.6s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s show all avg = 0.9s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s 22разное среднее
  24. 24. avg = 0.4s login 95%<0.8s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.6s show note 95%<1s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.9s show all 95%<1.2s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s 23разный 95й процентиль
  25. 25. avg = 0.4s login 95%<0.8s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.6s show note 95%<1s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.9s show all 95%<1.2s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.6s Summarize 95%<1.05s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s 24Агрегировав получили что-то абстрактное
  26. 26. avg = 0.4s login 95%<0.8s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.6s show note 95%<1s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.9s show all 95%<1.2s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s avg = 0.6s Summarize 95%<1.2s 0.1s 0.2s 0.3s 0.4s 0.5s 0.6s 0.7s 0.8s 0.9s 1s 1.1s 1.2s 25Среднее время - sucks!Надо ориентироватьсяна процентили (time в которое укладывается %) + смотреть разные классы
  27. 27. Время ответа 95% 80% 75% 1s 26Рисуем в каждую секунду процентиль для каждого класса запросов
  28. 28. Время ответа Average Время выполнения теста 27
  29. 29. Время ответа Average 75% 80% 95% Время выполнения теста 28Были пики, чего не видно было на графике среднего времени.Max. время показывает что пики есть, но не видно сколько медленных запросов было.Поэтому не смотрите на max и avg, смотрите на процентиль.
  30. 30. Нурлан Нугуманов• Инженер нагрузочного тестирования• 119021, Россия, Москва, ул. Льва Толстого, 16• +7 (495) 739-00-00 +7 (495) 739-70-70 — факс• r2d2@yandex-team.ru 29

    Als Erste(r) kommentieren

    Loggen Sie sich ein, um Kommentare anzuzeigen.

Aufrufe

Aufrufe insgesamt

1.280

Auf Slideshare

0

Aus Einbettungen

0

Anzahl der Einbettungen

457

Befehle

Downloads

18

Geteilt

0

Kommentare

0

Likes

0

×