SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Нагрузочное тестирование: как?

       Нурлан Нугуманов
       Инженер нагрузочного тестирования



        Codefest, Новосибирск, 19-20 марта 2011 года



                                                                                        1

Цель НТ - дать достоверный прогноз жизни сервиса:
летит сервис или не летит. И что самое _важное_ - будет ли он лететь в будущем, когда
сервису привинтят новые фишки
4 ЭТАПА СТАНДАРТНОГО ЦИКЛА НТ


                      Анализ                 Что тестируем?



                   Создание ТО              Где это будет?


                   Выполнение
                                            Как же именно тестируем?
                     тестов


                   Осмысление               И что теперь?




                                                                       2

Тесты занимают 20-30% от всего времени.
Выполнение тестов - важнейший этап, дающий данные для анализа
Нагрузка




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

                                                                                3

Отвечает на вопрос: Когда сломается?”
“+” Длительность теста <15m

“-” Оценка приблизительна. Неясна причина поломки: нагрузка или периодические
события? Выборка времен ответов в каждый момент времени мала.
Нагрузка




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

                                                                                          4

Отвечает на вопрос: “Работает сервис на данной нагрузке?”
Позволяет: 1) увидеть периоды, 2) оценить стабильность сервиса (есть ли деградация), 3)
получить выборку времен ответов
--
На ОчДлинном тесте: точное понимание как работает сервис, оценка стабильности/
деградации.
На коротком тесте: только получение выборки данных для оценки времен ответов.
--
К вопросу о минимальной длительности теста для сбора достоверных данных -> к
МатCтату
Нагрузка




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

                                                                              5

Грубая оценка поведения на линейном участке и точная оценка “где сломается”
“-” Не видим стабильность
“+” Быстрый и достаточно точный тест
Нагрузка




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

                                                                                         6

Ответ на вопрос:”Как ведет себя сервис если нужно _быстро_ выделить ресурсы?”
а) сломается совсем, б) долгие ответы, в) очередь + 503 на все что не влезло в очередь
--
при очень узком пике можно ничего не увидеть
Нагрузка




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

                                                                                 7

Stress (на этапе роста нагрузки) + Recovery (на спаде).
Смотрим:
1) Как сломается (корка, 500)
2) Как починится (сам, watchdog, звонок админу)
3) Как быстро починится
Ширина постоянных нагрузок - должна быть достаточной для завершения переходных
процессов
Объем данных в БД



                                                         3
                                         2


                          1



                                     Тесты

                                                                 8

Ответ на вопрос: “Что будет при росте объема хранимых данных?”
Серия тестов на каждом объеме данных
Объем данных в БД



                                                         3
                                         2


                          1



                                     Тесты

                                                                 8

Ответ на вопрос: “Что будет при росте объема хранимых данных?”
Серия тестов на каждом объеме данных
9
10
“Как совместить
горизонтальную
и наклонную
палочки?”




                  11
12

Нужно давать время на
1) прогрев кешей
2) время на выделение ресурсов
13

При подаче нагрузки без прогрева будут выбросы.
Нагрузка




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

                                                                              14

Подробно наблюдаем когда перестают выполнятся требования SLA и когда сервис
ломается напрочь
Нагрузка




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

                                    15
Нагрузка




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

                                                                                 16

Оценка поведения при росте нагрузки и скорость восстановления при различных по
величине нагрузках.
Примеры:
а) балансер по кол-ву открытых соединений
б) root.yandex.ru - нагрузка созданная людьми
в) отказ одного из ДЦ. “Водопроводчики на экскаваторе”
Мильон тестов..




                                                     17

Подумайте, на какой вопрос даст ответ вам ваш тест
Метрики: времена ответов




                                                                                   18

Поговорим о времени.
Что считать временем ответа?
пример: 10rps -> ~10 _разных_ значений времен обработки запросов каждую секунду.
Что для этого сервиса есть время ответа?
Среднее время ответа
  Нагрузка




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

                                                                                                19

Среднее время рулит? (ведь кажется, что все наглядно, легко посчитать)
Среднее время ответа
  Нагрузка




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

                                                                      20

Выраженных пиков тоже не видно. Запускаемся?
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

Смотрим на сервис подробнее:
разные классы запросов
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

разное среднее
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й процентиль
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

Агрегировав получили что-то абстрактное
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 в которое укладывается %) + смотреть разные классы
Время ответа




                              95%

                              80%
                              75%

                                1s

                                                                 26

Рисуем в каждую секунду процентиль для каждого класса запросов
Время ответа             Average




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

                                        27
Время ответа   Average              75%              80%             95%




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

                                                                                    28

Были пики, чего не видно было на графике среднего времени.
Max. время показывает что пики есть, но не видно сколько медленных запросов было.
Поэтому не смотрите на max и avg, смотрите на процентиль.
Нурлан Нугуманов
• Инженер нагрузочного тестирования

• 119021, Россия, Москва,
  ул. Льва Толстого, 16

• +7 (495) 739-00-00
  +7 (495) 739-70-70 — факс

• r2d2@yandex-team.ru




                                      29

Contenu connexe

En vedette

Опыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событияхОпыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событияхVasil Remeniuk
 
Александр Лукин
Александр ЛукинАлександр Лукин
Александр ЛукинCodeFest
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
HPC vs Big Data (Russian version)
HPC vs Big Data (Russian version)HPC vs Big Data (Russian version)
HPC vs Big Data (Russian version)Irina Fedulova
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеBadoo Development
 
Дмитрий Кулижников
Дмитрий КулижниковДмитрий Кулижников
Дмитрий КулижниковCodeFest
 
Андрей Светлов
Андрей СветловАндрей Светлов
Андрей СветловCodeFest
 
Роман Янке
Роман ЯнкеРоман Янке
Роман ЯнкеCodeFest
 

En vedette (9)

Опыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событияхОпыт использования Spark, Основано на реальных событиях
Опыт использования Spark, Основано на реальных событиях
 
"Обзор Tarantool DB"
"Обзор Tarantool DB""Обзор Tarantool DB"
"Обзор Tarantool DB"
 
Александр Лукин
Александр ЛукинАлександр Лукин
Александр Лукин
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
HPC vs Big Data (Russian version)
HPC vs Big Data (Russian version)HPC vs Big Data (Russian version)
HPC vs Big Data (Russian version)
 
Near-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проектеNear-realtime аналитика событий в высоконагруженном проекте
Near-realtime аналитика событий в высоконагруженном проекте
 
Дмитрий Кулижников
Дмитрий КулижниковДмитрий Кулижников
Дмитрий Кулижников
 
Андрей Светлов
Андрей СветловАндрей Светлов
Андрей Светлов
 
Роман Янке
Роман ЯнкеРоман Янке
Роман Янке
 

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

Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Ontico
 
Выявление неполадок в Java приложениях
Выявление неполадок в Java приложенияхВыявление неполадок в Java приложениях
Выявление неполадок в Java приложенияхPavel Grushetzky
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'аOksana Avchinnikova
 
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполненияАвтотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполненияSQALab
 
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в JavaKrivoy Rog IT Community
 
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vectorMagneta AI
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAlexey Deryushkin
 
Wargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковWargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковSlava Lukyanenka
 
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...Ontico
 

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

Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
 
SECON'2014 - Сергей Цивин - Производительность веб-приложений
SECON'2014 - Сергей Цивин - Производительность веб-приложенийSECON'2014 - Сергей Цивин - Производительность веб-приложений
SECON'2014 - Сергей Цивин - Производительность веб-приложений
 
Выявление неполадок в Java приложениях
Выявление неполадок в Java приложенияхВыявление неполадок в Java приложениях
Выявление неполадок в Java приложениях
 
Причины и способы имитации back-end'а
Причины и способы имитации back-end'аПричины и способы имитации back-end'а
Причины и способы имитации back-end'а
 
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполненияАвтотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
Автотестирование АБС. Конвейер разработки, конвейер данных, конвейер выполнения
 
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Javakranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
kranonit S11E01 Андрей Пономарёв: Тренинг по TDD в Java
 
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vector
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
 
Wargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковWargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиков
 
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...
Как разработать вычислительную инфраструктуру для большого кластера (Евгений ...
 
CCPM Vebinar 21 01 2010
CCPM Vebinar 21 01 2010CCPM Vebinar 21 01 2010
CCPM Vebinar 21 01 2010
 

Plus de CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Plus de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

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

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