✖️ Методика устарела✖️
Актуальная методика
—————
Словарь терминов
Постановка проблемы
Операционная скорость и скользящая корреляция на уровне СУБД
Анализ графика
- Имеется снижение производительности
- Скользящая корреляция постоянно в положительной зоне
Т.е. малым значениям операционной скорости соответствуют малые значения ожиданий.
Снижения производительности нет ?
Корреляционный анализ на уровне баз данных
Для корректного анализа производительности , необходимо анализировать корреляцию между операционной скоростью и ожиданиями не на уровне СУБД, а на уровне отдельных баз данных.
В основе остается та же идея
Но , уже не на уровне СУБД , а на уровне отдельной базы данных.
Новые метрики производительности СУБД
1. Относительная доля(%) баз данных, имеющих отрицательную корреляцию между операционной скоростью и ожиданиями.
2. Относительная доля(%) баз данных, имеющих среднюю и сильную отрицательную корреляцию между операционной скоростью и ожиданиями.
Если теперь посмотреть значение данных метрик, за тот же период наблюдения, появляются совершенно новые детали для начала анализа.
Результат анализа метрик относительной доли отрицательной корреляции.
- Рост количества баз данных имеющих отрицательную корреляцию между скоростью и ожиданиями >= 50%.
- Рост количества баз данных имеющих среднюю и сильную отрицательную корреляцию между скоростью и ожиданиями ≈50%.
Главный итог использования новых метрик
Имеются базы данных по которым установлено снижение скорости и рост одиданий , хотя на уровне СУБД снижения скорости не установлено.
Далее , используя полученные данные, уже можно примерить использованную ранее методику, хорошо зарекомендовавшую себя при нагрузочном тестировании
Корреляционный анализ ожиданий баз данных и выявление SQL запросов вызывающих наибольшее влияние на снижение скорости баз данных.
- База данных DB-1 - имеет наиболее сильную отрицательную корреляцию.
- База DB-2 - исключается из дальнейшего анализа. Причина - отсутствие отрицательной корреляции по событию типу ожидания.
Корреляционный анализ по базе данных "DB-1"
Корреляционный анализ по базе данных "DB-3"
Корреляционный анализ по базе данных "DB-4"
Итог
- Использование корреляционного анализа позволяет выявить SQL выражения потенциально, имеющие влияние на скорость работы базы данных.
- Стартовым событием для начала анализа является отрицательная корреляция между операционной скоростью и ожиданиями для отдельной базы данных.
- Мониторинг операционной скорости, ожиданий и корреляции между операционной скоростью и ожиданиями на уровне СУБД в целом, при условии разнородного характера нагрузки на отдельный базы данных , входящих в кластер СУБД - не позволяет получить корректную картину для начала анализа.
- Для решения проблемы эмерджентности СУБД , необходимо мониторить метрики производительности на уровне отдельных баз данных и даже на уровне SQL запросов , а не СУБД в целом.