Обычно в процессе нагрузочного тестирование необходимые app-side метрики(response time, throughput, ..) можно получить прямо в генераторе нагрузки. Мы шлем запрос, получаем респонс и зачастую время выполнения запроса это и есть то что нам нужно.
Но что если после того как сервер отдал вам ответ происходит еще ряд асинхронных операций, время выполнения которых нам необходимо проверить? Как замерить время выполнения этих запросов? Какая часть системы является узким местом в производительности?
В докладе рассмотрим какие челенжи появляются в такой ситуации и как их можно решить.
Beyond the EU: DORA and NIS 2 Directive's Global Impact
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхронных систем
1. Тема доклада
Тема доклада
Тема доклада
KYIV 2019
Нагрузочное тестирование
распределенных асинхронных систем
QA CONFERENCE #1 IN UKRAINE
2. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Senior Performance Analyst - Epam Systems
Performance testing courses - StartIT Training Center
Conducting performance testing workshops
Winner of several TestUaStartups testathones, Dev Challenge
and UaWebChallenge competitions
Anton Serputko
3. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Application
server
Database
server
75
April May June July
0
50
100
May July
Классическая ситуация
4. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
5. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Добавим асинхронности
Database
server
Inbound
Outbound
Application
server
Microservices
Some
other
clients
6. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Задачи на “протестировать”
• Создание обьекта в приложении(Capacity, load, stress, …)
- Время/пропускная способность создания обьекта в приложении
• Тестирование Outbound очереди(Mock микросервисов)
- Время обработки/пропускная способность outbound(ожидание в
очереди, отправка на микросервисы)
• Тестирование Inbound очереди(Mock kafka)
- Время обработки/пропускная способность inbound
7. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Задачи на “протестировать”
• Тестирование отдельных микросервисов
• Тестирование интеграции Outbound -> Microservices
Время обработки/пропускная способность outbound(ожидание в очереди,
отправка на микросервисы и обработка на микросервисах)
• Тестирование всей системы целиком
8. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
Microservices
75
April May June July
0
75
May July
9. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Тестирование outbound очереди
10. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
Microservices
75
April May June July
0
75
May July
11. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
75
April May June July
0
75
May July
Microservices
mock
12. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Структура jmeter сценария для outbound
13. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
14. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
15. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
16. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
17. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
18. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Мониторинг очереди через jmx
19. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
20. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Тестирование inbound очереди
21. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
75
April May June July
0
75
May July
22. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
23. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Тестирование отдельных микросервисов
24. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Microservices
75
April May June July
0
75
May July
25. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Интеграционное тестирование
Тестирование всей системы
26. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
Microservices
75
April May June July
0
75
May July
27. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
28. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Логгирование времени обработки на
серверах
29. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Database
server
Inbound
Outbound
Application
server
75
April May June July
0
75
May July
30. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
31. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Дашборды с визуализацией времени
обработки
32. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
33. WITH PASSION TO QUALITY QA CONFERENCE #1 IN UKRAINE KYIV 2019
Фейсбук Performance testing framework
Вопросы?