Сегодня никого не удивишь высоконагруженными системами. И мало кого в нашей индустрии удивишь отдельно выделенным человеком который занимается нагрузочным тестирование. Большинство людей думают, что они все могут автоматизировать и тесты будут запускаться автоматически. Вот только мало кто знает, что львиная доля времени уходит на анализ результатов (логов и графиков). В докладе будут рассказаны подходы, как возможно сократить время для поиска узких мест при анализе различных логов. Как можно применить простейшие модели машинного обучения для поиска узких мест. И как получить требования с помощью исторических данных.
Similaire à QA Fest 2018. Никита Кричко. Методология использования машинного обучения в нагрузочном тестировании или как находить узкие места автоматически
Similaire à QA Fest 2018. Никита Кричко. Методология использования машинного обучения в нагрузочном тестировании или как находить узкие места автоматически (20)
2. Access to logs
Logs storage
Knowledge of programming language and algorithms
t
KYIV 2018
Prerequisites
3. Decrease time of looking for bottleneck
Decrease time of preparing feedback
Describe in details what and where happens
t
KYIV 2018
Why we need it
4. If everything ok – skip this topic
If not, you should DEBUG
And then find LOAD and BOTTLENECK (place or
resource)
t
KYIV 2018
NOTE
5. BUG Description Or What developer needs to
reproduce :
Test steps: function (operation) name
Conditions: load in RPS (TPS)
Actual results (what happens, what was changed)
Hardware: server name
t
KYIV 2018
BUG REPORT
6.
7. Performance testing tool log
Resources monitoring log
All logs with traceID
t
KYIV 2018
DEPENDENCIES
21. Problem: Detect conditions when system reaches max limit of
resource usage
Solution: Use k-means clustering to find resources plateau
t
KYIV 2018
PROBLEM
22. CPU %
RAM %
DISK IO mb
Network mb
(depend on process)
t
KYIV 2018
MONITORING RESORCE LOG
29. Algorithm:
•Number of clusters should be less than number of
steps
•Find a cluster with max median
•If timeframe is bigger than time of load step – you
will find your resources plateau (candidate for
bottleneck)
•Filter your log by time and find the load
t
KYIV 2018
CLUSTERING
30. BUG Description Or What developer need to
reproduce this situation:
Test steps: function (operation) name
Conditions: load in RPS (TPS)
Actual results (what happens, what was changed)
Hardware: server name
t
KYIV 2018
BUG REPORT
32. Problem: Something changed, and it is unknown who is
responsible for this impact
Solution: Use correlation matrix to detect dependencies and
correlations
t
KYIV 2018
PROBLEM