Как стать автором
Обновить

Нагрузочное тестирование СУБД в облачной среде — часть 2. Итоги и результат

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров1.3K

Начало Нагрузочное тестирование СУБД в облачной среде — часть 1 / Хабр (habr.com)

Следующая серия экспериментов выполняется с использованием периода сглаживания = 1 час.

Инструмент и сценарий тестирования

Для тестирования используется стандартный инструментарий - утилита pgbench

Параметры pgbench

  • pgbench_init_param= --no-vacuum --quiet --foreign-keys --scale=100 -i test_pgbench

  • pgbench_param= --progress=60 --protocol=extended --report-per-command --jobs=1 --client=100 --time=14400 test_pgbench

Сценарий: серия также состоит из 4-х замеров статистических показателей производительности СУБД в течении 1 часа.

Производительность СУБД: рассчитывается по методике описанной в статье Корреляционный анализ для решения инцидентов производительности СУБД / Хабр (habr.com)

Для снижения влияния выбросов показателей производительности, используется медианное сглаживание с периодом 1 час.

1-й час

Статистические показатели производительности СУБД

Рис.1. Статистические показатели производительности: 1 час
Рис.1. Статистические показатели производительности: 1 час

Распределение вероятности

Рис.2.Распределение вероятности: 1-й час
Рис.2.Распределение вероятности: 1-й час
Рис.3.Распределение вероятности: 1-й час-график
Рис.3.Распределение вероятности: 1-й час-график

Корреляция между ожиданиями и производительностью СУБД

Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%

Рис.4. Корреляция между ожиданиями и производительностью
Рис.4. Корреляция между ожиданиями и производительностью

2-й час

Статистические показатели производительности СУБД

Рис.5. Статистические показатели производительности: 2-й час
Рис.5. Статистические показатели производительности: 2-й час

Распределение вероятности

Рис.6.Распределение вероятности:2-й час
Рис.6.Распределение вероятности:2-й час
Рис.7. Распределение вероятности: 2-й час.
Рис.7. Распределение вероятности: 2-й час.

Корреляция между ожиданиями и производительностью СУБД

Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%

Рис.8. Корреляция между ожиданиями и производительностью:2-й час.
Рис.8. Корреляция между ожиданиями и производительностью:2-й час.

3-й час

Статистические показатели производительности СУБД

Рис.9. Статистические показатели производительности: 3-й час
Рис.9. Статистические показатели производительности: 3-й час

Распределение вероятности

Рис.10.Распределение вероятности: 3-й час
Рис.10.Распределение вероятности: 3-й час
Рис.11.Распределение вероятности: 3-й час
Рис.11.Распределение вероятности: 3-й час

Корреляция между ожиданиями и производительностью СУБД

Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%

Рис.12. Корреляция между ожиданиями и производительностью: 3-й час
Рис.12. Корреляция между ожиданиями и производительностью: 3-й час

4-й час

Статистические показатели производительности СУБД

Рис.13.Статистические показатели производительности:4-й час
Рис.13.Статистические показатели производительности:4-й час

Распределение вероятности

Рис.14. Распределение вероятности: 4-й час
Рис.14. Распределение вероятности: 4-й час
Рис.15. Распределение вероятности: 4-й час
Рис.15. Распределение вероятности: 4-й час

Корреляция между ожиданиями и производительностью СУБД

Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%

Рис.16. Корреляция между ожиданиями и производительностью: 4-й час
Рис.16. Корреляция между ожиданиями и производительностью: 4-й час

Предварительные итоги по 2-й части

События ожидания с наибольшим по модулю коэффициентом корреляции

Рис.17. Наибольшая отрицательная корреляция:1-й час
Рис.17. Наибольшая отрицательная корреляция:1-й час
Рис.18. Наибольшая отрицательная корреляция: 2-й час
Рис.18. Наибольшая отрицательная корреляция: 2-й час
Рис.19. Наибольшая отрицательная корреляция: 3-й час
Рис.19. Наибольшая отрицательная корреляция: 3-й час
Рис.20. Наибольшая отрицательная корреляция: 4-й час
Рис.20. Наибольшая отрицательная корреляция: 4-й час
  • С большой долей уверенности можно утверждать, что дисковая подсистема оказывает существенное влияние на производительность СУБД

  • В целом, увеличение периода сглаживание позволяет снизить разброс итоговых значений производительности.

Выводы.

  1. Достоверный анализ результатов нагрузочного тестирования возможен только с использование статистических методов

  2. Увеличение периода сглаживания показаний позволяет снизить влияние внешних факторов на итоговые значения производительности.

  3. Для получения итоговых значение производительности СУБД необходима серия тестов.

  4. Использование коротких периодов для выполнения тестов - не позволяет получить достоверные итоговые результаты.

Дополнительные результаты статистического анализа

Статистический анализ ожиданий типа IO

IO

Серверный процесс ожидает завершения операции ввода/вывода.

Для анализа состояния подсистемы IO , было принято решение оценить дисперсию ожиданий

Дисперсия показывает разброс данных: чем меньше дисперсия, тем меньше разброс значений. В то же время чем больше дисперсия, тем больше разброс значений.

Сравнительные результаты по значениям дисперсии для событий ожидания типа IO:

Рис.21. Абсолютные значения показателей дисперсии по часам наблюдений
Рис.21. Абсолютные значения показателей дисперсии по часам наблюдений
Рис.22. Относительные показатели изменения дисперсии
Рис.22. Относительные показатели изменения дисперсии

Вывод

Дисковая система ведет себя крайне нестабильно .

Общий итог по проведению нагрузочного тестирования

  1. Период сглаживания - 1 час.

  2. Продолжительность одного прохода однотипной нагрузки - минимум 2 часа (анализ данных со 2-го часа).

  3. Серия тестов для сбора статистических данных .

  4. В качестве результата используется диапазон значений полученный в результате прохода при котором распределение максимально близко к симметричному и дисперсия минимальна.

Результат

Таким образом, статистические результаты 2-го часа можно принять в качестве итога данной серии тестов и считать значение метрики производительности равным 1736 , с диапазоном изменения от -7% до +2%.

При проведении повторных тестов , результат может быть уточнён.

Гипотеза.

Значения полученные при распределении близком к симметричному, существенно не отличаются .

Для подтверждения или опровержения гипотезы , тестовые испытания и статистический анализ результатов будут продолжены.

Теги:
Хабы:
Всего голосов 5: ↑2 и ↓3+3
Комментарии8

Публикации

Истории

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань