![Page 1: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/1.jpg)
Илья Пастушков
Функциональное тестированиевысоконагруженных проектов
![Page 2: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/2.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Расскажу...
![Page 3: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/3.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Расскажу...
![Page 4: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/4.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Расскажу...
![Page 5: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/5.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Расскажу...
![Page 6: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/6.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Расскажу...
![Page 7: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/7.jpg)
Кто я?
• Специалист по тестированию в компании 2ГИС
• Больше двух лет работаю в команде Unix.
![Page 8: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/8.jpg)
Кто я?
• Специалист по тестированию в компании 2ГИС
• Больше двух лет работаю в команде Unix.
![Page 9: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/9.jpg)
Чем занимаетсякоманда Unix
![Page 10: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/10.jpg)
Наши сервисы
![Page 11: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/11.jpg)
• Unit-тесты
• Регрессия
• Нагрузочные
• Функциональные
• Автотесты
Тестирование
![Page 12: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/12.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 13: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/13.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 14: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/14.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 15: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/15.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 16: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/16.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 17: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/17.jpg)
Тестирование самолётов
Процесс:
• Строят опытный образец
• Ставят под нагрузку
• Через 5-10 лет запускают модель в эксплуатацию
• А самолёт стоит на стенде
Даже если на тестах сломается,у авиакомпании будет 5-10 лет в запасе
![Page 18: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/18.jpg)
Поисковые сервисы
2014
• Сбербанк
Аптеки
Кафе
Почта
Такси
•
•
•
•
2015
• Парикмахерские
Аптеки
Почта
Кафе
Супермаркеты
•
•
•
•
![Page 19: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/19.jpg)
Серверы обновлений
2014
• Android 4
iOS 7
Windows 8
•
•
2015
• Android 6
iOS 9
Windows 10
•
•
![Page 20: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/20.jpg)
Тестирование
Функциональные тесты важны даже для highload
Проблемы:
• "Проблема 34%"
• Запрос пришёл и застрял
![Page 21: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/21.jpg)
Тестирование
Функциональные тесты важны даже для highload
Проблемы:
• "Проблема 34%"
• Запрос пришёл и застрял
![Page 22: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/22.jpg)
Тестирование
Функциональные тесты важны даже для highload
Проблемы:
• "Проблема 34%"
• Запрос пришёл и застрял
![Page 23: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/23.jpg)
Функциональныетесты
Friend or foe? Да или нет?
![Page 24: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/24.jpg)
А если подумать?
![Page 25: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/25.jpg)
Время
• время отклика сервера
• время получения ответа клиентом
• время отклика компонент
![Page 26: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/26.jpg)
Время
• время отклика сервера
• время получения ответа клиентом
• время отклика компонент
![Page 27: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/27.jpg)
Время
• время отклика сервера
• время получения ответа клиентом
• время отклика компонент
![Page 28: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/28.jpg)
Время. Откуда?
• логи
• мониторинг
• сами
![Page 29: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/29.jpg)
Время. Откуда?
• логи
• мониторинг
• сами
![Page 30: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/30.jpg)
Время. Откуда?
• логи
• мониторинг
• сами
![Page 31: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/31.jpg)
Утилизация ресурсов
• CPU usage
• Memory usage
• i/o per second
• network latency
![Page 32: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/32.jpg)
Итог
Всё это может происходить п
• кто-то кошмарит соседей по
шакалы сжимают, тестеры
• перебои с сетью
не было ни единого разрыва
visual studio
отому что:
виртуалке
нагружают, админы бэкапят
, а тут! или все обновляют
![Page 33: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/33.jpg)
Итог
Всё это может происходить п
• кто-то кошмарит соседей по
шакалы сжимают, тестеры
• перебои с сетью
не было ни единого разрыва
visual studio
отому что:
виртуалке
нагружают, админы бэкапят
, а тут! или все обновляют
![Page 34: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/34.jpg)
Итог
Всё это может происходить п
• кто-то кошмарит соседей по
шакалы сжимают, тестеры
• перебои с сетью
не было ни единого разрыва
visual studio
отому что:
виртуалке
нагружают, админы бэкапят
, а тут! или все обновляют
![Page 35: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/35.jpg)
Можно держатьэто в голове
![Page 36: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/36.jpg)
Можномониторить
![Page 37: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/37.jpg)
А можно уточнить
![Page 38: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/38.jpg)
Нужно большетестов
![Page 39: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/39.jpg)
Организация тестов
• Вносим в тесты некоторую энтропию
Проверяем одно, но разными кейсами
• Мыслим не конкретными запросами, а категориями
Негативные кейсы могут быть заткнутыисключениями
![Page 40: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/40.jpg)
Организация тестов
• Вносим в тесты некоторую энтропию
Проверяем одно, но разными кейсами
• Мыслим не конкретными запросами, а категориями
Негативные кейсы могут быть заткнутыисключениями
![Page 41: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/41.jpg)
Организация тестов
• Вносим в тесты некоторую энтропию
Проверяем одно, но разными кейсами
• Мыслим не конкретными запросами, а категориями
Негативные кейсы могут быть заткнутыисключениями
![Page 42: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/42.jpg)
Причины рандомизации
Если сервис stateless:
• поисковый сервис N раз найдёт x по запросу y
• сервис поиска проезда выдаст N раз
маршрут x по координатам y и z
Stateless, statefull, не забываем про кэширование
![Page 43: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/43.jpg)
Причины рандомизации
Если сервис stateless:
• поисковый сервис N раз найдёт x по запросу y
• сервис поиска проезда выдаст N раз
маршрут x по координатам y и z
Stateless, statefull, не забываем про кэширование
![Page 44: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/44.jpg)
Причины рандомизации
Если сервис stateless:
• поисковый сервис N раз найдёт x по запросу y
• сервис поиска проезда выдаст N раз
маршрут x по координатам y и z
Stateless, statefull, не забываем про кэширование
![Page 45: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/45.jpg)
Причины рандомизации
Если сервис stateful:
• фиксируем состояние
• GOTO предыдущий слайд
![Page 46: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/46.jpg)
Причины рандомизации
Если сервис stateful:
• фиксируем состояние
• GOTO предыдущий слайд
![Page 47: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/47.jpg)
Методы
• библиотека random (fuzzing)
![Page 48: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/48.jpg)
Методы
• библиотека random
(fuzzing)
• ортогональные массивы
![Page 49: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/49.jpg)
Методы
• библиотека random
(fuzzing)
• pairwise (комбинации пар)
![Page 50: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/50.jpg)
Средства визуализации
• Цифры
• Графики
• Отчёты
![Page 51: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/51.jpg)
Цифры
sort -n input.txt > sorted.txt
awk '{all[NR] = $0} END
{print all[int(NR*0.95 - 0.5)]}' sorted.txt
???
PROFIT!!!
01.
02.
03.
04.
На выходе получим величину, которая больше чем в 95%запросов, т.е. 95ую процентиль
![Page 52: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/52.jpg)
Цифры
sort -n input.txt > sorted.txt
awk '{all[NR] = $0} END
{print all[int(NR*0.95 - 0.5)]}' sorted.txt
???
PROFIT!!!
01.
02.
03.
04.
На выходе получим величину, которая больше чем в 95%запросов, т.е. 95ую процентиль
![Page 53: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/53.jpg)
Цифры
sort -n input.txt > sorted.txt
awk '{all[NR] = $0} END
{print all[int(NR*0.95 - 0.5)]}' sorted.txt
???
PROFIT!!!
01.
02.
03.
04.
На выходе получим величину, которая больше чем в 95%запросов, т.е. 95ую процентиль
![Page 54: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/54.jpg)
Цифры
sort -n input.txt > sorted.txt
awk '{all[NR] = $0} END
{print all[int(NR*0.95 - 0.5)]}' sorted.txt
???
PROFIT!!!
01.
02.
03.
04.
На выходе получим величину, которая больше чем в 95%запросов, т.е. 95ую процентиль
![Page 55: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/55.jpg)
Цифры
sort -n input.txt > sorted.txt
awk '{all[NR] = $0} END
{print all[int(NR*0.95 - 0.5)]}' sorted.txt
???
PROFIT!!!
01.
02.
03.
04.
На выходе получим величину, которая больше чем в 95%запросов, т.е. 95ую процентиль
![Page 56: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/56.jpg)
Графики
![Page 57: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/57.jpg)
![Page 58: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/58.jpg)
![Page 59: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/59.jpg)
![Page 60: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/60.jpg)
Я сломаль, я сломаль!
Если есть тесты, которые не сработали, то
внимательно смотрим на них:
• запрос
• время, ресурсы
• предыдущие запросы
![Page 61: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/61.jpg)
Я сломаль, я сломаль!
Если есть тесты, которые не сработали, то
внимательно смотрим на них:
• запрос
• время, ресурсы
• предыдущие запросы
![Page 62: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/62.jpg)
All tests passed!
![Page 63: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/63.jpg)
All tests passed!
Если все тесты прошли -- смотрим ещё внимательнее:
• пики точёны по времени/ресурсам - смотрим внимательно
![Page 64: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/64.jpg)
All tests passed!
Если все тесты прошли -- смотрим ещё внимательнее:
• 95ая, 98 процентиль по характеристике - лучший показатель
НИ В КОЕМ СЛУЧАЕ НЕ БРАТЬ СРЕДНЕЕ!
Пример когда среднее не показатель:
• половина запросов обрывается при соединении, те, что
проходят - превышают SLA
Итог - по среднему мы очень даже укладываемся
![Page 65: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/65.jpg)
All tests passed!
Если все тесты прошли -- смотрим ещё внимательнее:
• 95ая, 98 процентиль по характеристике - лучший показатель
НИ В КОЕМ СЛУЧАЕ НЕ БРАТЬ СРЕДНЕЕ!
Пример когда среднее не показатель:
• половина запросов обрывается при соединении, те, что
проходят - превышают SLA
Итог - по среднему мы очень даже укладываемся
![Page 66: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/66.jpg)
All tests passed!
Если все тесты прошли -- смотрим ещё внимательнее:
• 95ая, 98 процентиль по характеристике - лучший показатель
НИ В КОЕМ СЛУЧАЕ НЕ БРАТЬ СРЕДНЕЕ!
Пример когда среднее не показатель:
• половина запросов обрывается при соединении, те, что
проходят - превышают SLA
Итог - по среднему мы очень даже укладываемся
![Page 67: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/67.jpg)
Highload edition
• Нагрузку выстраиваем линейно
• Автоматизация во все поля
Зеркалируем траффик с учётом масштабирования:
• em proxy
• gor
![Page 68: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/68.jpg)
Highload edition
• Нагрузку выстраиваем линейно
• Автоматизация во все поля
Зеркалируем траффик с учётом масштабирования:
• em proxy
• gor
![Page 69: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/69.jpg)
Highload edition
• Нагрузку выстраиваем линейно
• Автоматизация во все поля
Зеркалируем траффик с учётом масштабирования:
• em proxy
• gor
![Page 70: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/70.jpg)
Highload edition
• Нагрузку выстраиваем линейно
• Автоматизация во все поля
Зеркалируем траффик с учётом масштабирования:
• em proxy
• gor
![Page 71: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/71.jpg)
Арифметика масштабирования
• Cобираем соотношения траффика-утилизации-rps
на возможных конфигурациях,
• Выстраиваем зависимость,
• На её основе вычисляем соотношение
• Можно грабить корованы функционально проверять
![Page 72: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/72.jpg)
Арифметика масштабирования
• Cобираем соотношения траффика-утилизации-rps
на возможных конфигурациях,
• Выстраиваем зависимость,
• На её основе вычисляем соотношение
• Можно грабить корованы функционально проверять
![Page 73: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/73.jpg)
Арифметика масштабирования
• Cобираем соотношения траффика-утилизации-rps
на возможных конфигурациях,
• Выстраиваем зависимость,
• На её основе вычисляем соотношение
• Можно грабить корованы функционально проверять
![Page 74: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/74.jpg)
Арифметика масштабирования
• Cобираем соотношения траффика-утилизации-rps
на возможных конфигурациях,
• Выстраиваем зависимость,
• На её основе вычисляем соотношение
• Можно грабить корованы функционально проверять
![Page 75: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/75.jpg)
• Что можно извлечь из тестов
• Почему результаты одиночного теста не показательны
• Как не потеряться среди огромного количества тестов
• Какими инструментами вообще всё это можно сделать
• И что из этого должно получиться
Сегодня я рассказал...
![Page 76: Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)](https://reader033.vdocuments.site/reader033/viewer/2022051521/58728c831a28ab36118b54b3/html5/thumbnails/76.jpg)
Вопросы?