Чем больше слоник, тем больше он кушаетИнженерия производительности (англ. Performance Engineering) — часть системной инженерии, включающая в себя набор ролей, знаний, практик, инструментов и результатов и применяющаяся на каждом этапе Цикла разработки программного обеспечения с целью убедиться в том, что создаваемое, программируемое и поддерживаемое архитектурное решение соответствует нефункциональным требованиям к производительности этого решения.Задача экспериментаКоличественный анализ производительности СУБД для разной конфигурации виртуальной машины и разной версии СУБД .Конфигурация ВМВМ-1Версия СУБД: Postgres Pro (enterprise certified) 15.8.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Soft 11.4.0-1), 64-biCPU: 8RAM: 15ОС: RED OS 7.3ВМ-2Версия СУБД: Postgres Pro (enterprise certified) 14.11.3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516, 64-bitCPU: 24RAM: 189ОС: Astra Linux (Smolensk) 1.6Тестовый сценарий и нагрузка на СУБДИнструмент создания нагрузки: pgbenchИзменение нагрузки: экспоненциально начиная со значения --connect=6Изменения в методике анализа результатов1. Изменение методики расчета метрик производительности. Расчеты основаны на статистическом анализе данных представлений pgpro_stat_statements , pgpro_stat_total.2. Из анализа исключена метрика "время отклика СУБД". Используется среднее время выполнения тестового запроса.3. Из критерия остановки теста исключено условие роста времени выполнения запроса . Нагрузка растет одинаково на тестовые ВМ.4. Из анализа производительности СУБД исключен критерий оценки по времени выполнения тестового запроса (режимы работы СУБД).5. В качестве метрики производительности СУБД используется метрика - операционная скорость.Результаты тестаОперационная скоростьГрафик операционной скорости для ВМ-1 и ВМ-2ВыводыХарактер графиков ВМ-1 и ВМ-2 существенно отличаются.Операционная скорость ВМ-1 существенно выше чем показатели ВМ-2 до 230 соединений.При превышении нагрузки свыше 276 соединений операционная скорость ВМ-2 выше и существенно не снижается с ростом нагрузки. Как и аналогичный показатель для ВМ-1.Время выполнения тестового запросаВМ-1 быстрее, при нагрузке до 63 соединенийВремя выполнения тестового запроса до 63 соединенийВМ-2 быстрее, при нагрузке свыше 64 соединенийВремя выполнения тестового запроса свыше 64 соединенийВыводыВремя выполнения тестового запроса для ВМ-1 существенно растет с ростом нагрузки и превышает время выполнения тестового запроса для ВМ-2 при нагрузке свыше 64 соединения.Итог1. Если оценивать СУБД по времени выполнения тестового запроса , то до нагрузки 64 соединения - тестовый запрос на ВМ-1 выполняется быстрее.2. Если оценивать СУБД по операционной скорости, то до нагрузки 230 соединений - операционная скорость ВМ-1 существенно выше.3. В целом до нагрузки 230 соединений при выполнении тестового сценарий и тестовой нагрузке ВМ-1 эффективнее чем ВМ-2.