Начало Нагрузочное тестирование СУБД в облачной среде — часть 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-й час
Статистические показатели производительности СУБД
Распределение вероятности
Корреляция между ожиданиями и производительностью СУБД
Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%
2-й час
Статистические показатели производительности СУБД
Распределение вероятности
Корреляция между ожиданиями и производительностью СУБД
Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%
3-й час
Статистические показатели производительности СУБД
Распределение вероятности
Корреляция между ожиданиями и производительностью СУБД
Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%
4-й час
Статистические показатели производительности СУБД
Распределение вероятности
Корреляция между ожиданиями и производительностью СУБД
Для простоты показаны только события с коэффициентом корреляции > 0.5 и процентом наблюдений > 50%
Предварительные итоги по 2-й части
События ожидания с наибольшим по модулю коэффициентом корреляции
С большой долей уверенности можно утверждать, что дисковая подсистема оказывает существенное влияние на производительность СУБД
В целом, увеличение периода сглаживание позволяет снизить разброс итоговых значений производительности.
Выводы.
Достоверный анализ результатов нагрузочного тестирования возможен только с использование статистических методов
Увеличение периода сглаживания показаний позволяет снизить влияние внешних факторов на итоговые значения производительности.
Для получения итоговых значение производительности СУБД необходима серия тестов.
Использование коротких периодов для выполнения тестов - не позволяет получить достоверные итоговые результаты.
Дополнительные результаты статистического анализа
Статистический анализ ожиданий типа IO
| Серверный процесс ожидает завершения операции ввода/вывода. |
Для анализа состояния подсистемы IO , было принято решение оценить дисперсию ожиданий
Дисперсия показывает разброс данных: чем меньше дисперсия, тем меньше разброс значений. В то же время чем больше дисперсия, тем больше разброс значений.
Сравнительные результаты по значениям дисперсии для событий ожидания типа IO:
Вывод
Дисковая система ведет себя крайне нестабильно .
Общий итог по проведению нагрузочного тестирования
Период сглаживания - 1 час.
Продолжительность одного прохода однотипной нагрузки - минимум 2 часа (анализ данных со 2-го часа).
Серия тестов для сбора статистических данных .
В качестве результата используется диапазон значений полученный в результате прохода при котором распределение максимально близко к симметричному и дисперсия минимальна.
Результат
Таким образом, статистические результаты 2-го часа можно принять в качестве итога данной серии тестов и считать значение метрики производительности равным 1736 , с диапазоном изменения от -7% до +2%.
При проведении повторных тестов , результат может быть уточнён.
Гипотеза.
Значения полученные при распределении близком к симметричному, существенно не отличаются .
Для подтверждения или опровержения гипотезы , тестовые испытания и статистический анализ результатов будут продолжены.