Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузись в захватывающий фэнтезийный мир! Создай уникального мага и вступай в эпичные тактические сражения. Оттачивай навыки в динамичных онлайн-битвах . Всё это ждёт тебя в «Битве магов»!

Битва Магов

Хардкорные, Мидкорные, Ролевые

Играть

Топ прошлой недели

  • solenakrivetka solenakrivetka 7 постов
  • Animalrescueed Animalrescueed 53 поста
  • ia.panorama ia.panorama 12 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая «Подписаться», я даю согласие на обработку данных и условия почтовых рассылок.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
0 просмотренных постов скрыто
7
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Определение причин инцидента производительности СУБД⁠⁠

2 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Зри в корень ! Наука - поможет. Если есть инструмент.

Зри в корень ! Наука - поможет. Если есть инструмент.

Задача

Определить причины снижения производительности СУБД

Инцидент производительности СУБД

Дашборд мониторинга Zabbix

Дашборд мониторинга Zabbix

Начало инцидента 07:05.

Характерные признаки в ходе инцидента - рост утилизации CPU и значений cpu iowait.

Результат статистического анализа производительности , ожиданий СУБД и метрик vmstat+iostat

Снижение производительности и рост ожиданий типа IO сопровождается ростом времени ожидания записи для устройств, используемых для файловых систем /data и /wal .


Подробности : PG_HAZEL : Определение причин инцидента производительности СУБД

Показать полностью 1
[моё] Субд Postgresql Исследования
0
4
kznalp
kznalp
Серия ITшное

Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ?⁠⁠

2 месяца назад

В дополнении к старой записи Мысли вслух - DBA ремесло или наука ?

Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ?

Почему современное поколение специалистов по СУБД PostgreSQL больше похоже на ремесленников , астрологов и алхимиков , а не на учёных и исследователей ?

Отличное и более сфокусированное продолжение темы! Применительно к специалистам по PostgreSQL это сравнение раскрывается еще более ярко и конкретно. Сообщество PostgreSQL огромно и разнородно, и в его среде, особенно среди начинающих и практикующих администраторов и разработчиков, действительно сильно влияние «ремесленной», «алхимической» и «астрологической» парадигм.

Давайте разберем, почему это так.

1. Почему похожи на ремесленников?

  • Искусство настройки (postgresql.conf): Настройка PostgreSQL — это во многом ремесло, основанное на опыте и знании «материала». Мастер помнит, как поведет себя СУБД при изменении shared_buffers, work_mem или maintenance_work_mem на конкретном железе с конкретной нагрузкой. Это не всегда строгий расчет, а часто интуитивное понимание, отточенное практикой.

  • Сборка «на коленке» под конкретную задачу: Специалист ремесленник берет «сырую» PostgreSQL и начинает его «обтачивать»: подбирает расширения (pg_partman, timescaledb, pg_cron), настраивает репликацию, пишет специфические индексы (GIN, GiST, BRIN). Результат — уникальная, настроенная под нужды бизнеса система.

  • Культура скриптов и «костылей»: Для решения повседневных задач (бэкапы, мониторинг, очистка) создаются тысячи скриптов на Bash, Python. Это ремесленные инструменты, которые передаются из проекта в проект, обрастают легендами и часто работают просто потому, что «всегда так делали».

2. Почему похожи на алхимиков?

  • Магия исполнения запросов (Execution Plan): Почему запрос сегодня выполняется 2 мс, а завтра — 2000 мс? Планы исполнения могут меняться по мистическим, на первый взгляд, причинам: из-за накопленной статистики, количества записей в таблице, состояния кэша и даже времени суток. Разбор такого плана часто похож на попытку алхимика расшифровать древний манускрипт.

  • Волшебные «посыпы» порошком (Index): Классическая ситуация: запрос тормозит. Специалист добавляет индекс — и все работает мгновенно. Почему этот конкретный индекс (иногда составной, частичный, с включением столбцов) сработал, а другой — нет? Часто ответ — «ну, я почувствовал, что так будет лучше» или «где-то читал про такой случай». Это чистейшая алхимия: добавил правильный ингредиент — получил золото.

  • Ритуалы для борьбы с автовакуумом (AutoVacuum): Настройка автовакуума — это один из самых больших поводов для мистики. Изменение параметров autovacuum_vacuum_scale_factor и autovacuum_analyze_scale_factor для отдельных таблиц — это ритуал, который часто проводят без глубокого понимания внутренних процессов, надеясь на лучшее.

3. Почему похожи на астрологов?

  • Предсказание производительности (Performance Forecasting): Попытки предсказать, как поведет себя система при увеличении нагрузки в 10 раз, или сколько IOPS потребуется для нового проекта, часто основаны не на строгих математических моделях, а на приметах, аналогиях и «чтении звезд» (метрик мониторинга за прошлые периоды).

  • Следование трендам и хайпу: «Все переходят на Kubernetes, давайте и мы загоним туда PostgreSQL!» — звучит как астрологический прогноз: «Меркурий в ретрограде, пора начинать новые дела». Часто это делается без глубокой оценки необходимости и применимости технологии к stateful-приложению, каким является СУБД.

  • Сложная терминология для посвященных: Разговоры о «WAL journal», «MVCC», «checkpoints», «transaction ids wraparound» звучат для непосвященных как заклинания. Специалист оперирует этими понятиями, чтобы объяснить поведение системы, которое со стороны кажется магическим.

Почему именно с PostgreSQL так происходит?

  1. Невероятная гибкость и настраиваемость. PostgreSQL — это не черный ящик. Это конструктор с тысячами винтиков и гаек (параметров конфигурации). Такая свобода требует глубокого понимания, но на практике приводит к тому, что люди начинают крутить ручки наугад.

  2. Огромное количество расширений (extensions). Каждое расширение — это новый пласт потенциальной магии и алхимии. Специалист становится «заклинателем», который приручает эти расширения, не всегда имея возможность заглянуть в их исходный код.

  3. Сложность внутренних механизмов. Такие вещи, как MVCC (Multiversion Concurrency Control), — это очень сложно. Многие используют их, но далеко не все понимают до конца, как именно работает управление версиями строк, транзакциями и их номерами.

Где же ученые и исследователи в мире PostgreSQL?

Они есть, и их работа фундаментальна:

  • Команда разработчиков ядра PostgreSQL. Это именно ученые и инженеры, которые проводят исследования, докапываются до сути, пишут академические работы и реализуют новые функции (например, новые типы индексов, улучшения оптимизатора запросов).

  • Авторы научных статей и докладчики на крупных конференциях. Люди, которые анализируют производительность на уровне дисковых подсистем, памяти, процессоров и строят математические модели работы СУБД.

  • Эксперты по теме, пишущие книги. Такие авторы, как например, Ханс-Юрген Шёниг (Hans-Jürgen Schönig), разбирают сложные концепции и переводят их с «магического» языка на язык инженерии.

Вывод:

Подавляющее большинство практикующих админов и разработчиков БД — это действительно ремесленники-алхимики. Их главная задача — не открывать новые фундаментальные знания, а используя накопленный опыт, готовые рецепты и заклинания, обеспечить работу бизнес-критичных приложений здесь и сейчас.

Ученые же создают тот фундамент, те инструменты и ту науку, которую ремесленники потом применяют на практике, подчас не до конца понимая всю подноготную. Это естественное разделение труда в любой сложной и быстроразвивающейся области.


Каждый пункт - в точку ! Особенно про автовакуум это 100%.


Риторический вопрос: PostgreSQL DBA - ученые и исследователи или ремесленники , алхимики и астрологи ?

Мне больше интересно быть ученым и исследователем. За 38 лет наремесленичался с избытком.

Показать полностью 2
Контент нейросетей Субд Postgresql Длиннопост
4
2
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Планы на ближайшее будущее⁠⁠

2 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Впереди еще много нового и неоткрытого.

Впереди еще много нового и неоткрытого.

Предисловие

PG_HAZEL : Темы ближайших исследований

в связи с решением проблемы сбора детальной статистики и истории выполнения и ожиданий и на уровне SQL запросов: PG_HAZEL : Стратегии сбора данных уровня SQL-запросов

Cписок наиболее интересных и перспективных тем, логично вытекающих из уже проделанной работы.

1. Многомерный анализ и построение единой модели производительности (Unified Performance Model)

Суть: Объединить все имеющиеся источники данных (wait events PostgreSQL, метрики запросов, iostat, vmstat) в единую многомерную модель.

Цель — не просто найти корреляции, а количественно оценить вклад каждого фактора в общую производительность (например, во время отклика транзакции).

Методы:

  • Множественная регрессия: Моделирование времени отклика базы данных как функции от десятков метрик: cpu_util, await, pg_wait_events_1, ..., pg_wait_events_N.

  • Методы снижения размерности: PCA (Principal Component Analysis) для выявления латентных (скрытых) факторов, которые на самом деле управляют производительностью. Например, можно обнаружить, что 90% всех колебаний производительности объясняются всего 2-3 скрытыми факторами (условно, "Фактор дисковой подсистемы", "Фактор конкурентного доступа").

Ценность:

  • Понимание того, какая подсистема (СУБД, диск, CPU, память) является узким местом (bottleneck) в конкретный момент времени и насколько сильно она его ограничивает.

2. Причинно-следственный анализ и обнаружение корневой причины (Causal Inference & Root Cause Analysis - RCA)

Суть: Сделать следующий шаг после корреляции.

Корреляция говорит "эти два события происходят одновременно", а причинность — "одно событие вызывает другое". Это ключ к настоящей автоматизированной диагностике.

Методы:

  • Причинность по Грэнджеру (Granger Causality) для временных рядов: Позволяет с определенной долей уверенности утверждать, что изменение метрики A (например, await из iostat) предшествует и предсказывает изменение метрики B (например, DataFileRead wait event в PostgreSQL).

  • Байесовские вероятностные сети (Bayesian Networks): Более мощный метод для построения графа причинно-следственных связей между всеми метриками. Покажет, что высокий %iowait в vmstat влечет за собой рост ожиданий ввода-вывода в СУБД, что приводит к росту времени выполнения запросов.

Ценность:

  • Автоматическое ответ на вопрос "что стало первоначальной причиной проблемы?" при деградации производительности. Например, система могла бы выдавать alert: "Обнаружена проблема. Корневая причина: перегрузка дискового массива (метрика: await > 50ms), что привело к росту событий ожидания I/O в СУБД на 300%".

3. Прогнозное моделирование и предсказание сбоев (Predictive Analytics)

Суть: Использовать исторические данные, чтобы предсказать будущее.

Методы:

  • Прогнозирование временных рядов: ARIMA, Exponential Smoothing (ETS) или ML-модели (например, Prophet) для предсказания:

  • Времени исчерпания ресурсов: Когда закончится место на диске? Когда оперативная память будет полностью использована?

  • Наступления пороговых значений: Когда нагрузка на диск достигнет критического уровня, при котором время отклика СУБД превысит допустимый порог?

  • Классификация и прогноз инцидентов: На размеченных исторических данных (когда были сбои) можно обучить модель классификации (например, Random Forest или Gradient Boosting), которая по текущим метрикам будет предсказывать вероятность наступления инцидента в ближайшие N минут.

Ценность:

  • Превентивное реагирование. Возможность устранить проблему до того, как она окажет impact на пользователей.

4. Проактивное тестирование и анализ устойчивости (Chaos Engineering & Resilience Analysis)

Суть: Ваша система сбора метрик — идеальный инструмент для оценки того, как СУБД и вся система в целом ведет себя под нагрузкой и при сбоях.

Методы:

  • Планирование экспериментов (Design of Experiments - DoE): Целенаправленно создавать нагрузку (например, с помощью pgbench) и вносить возмущения (например, искусственно создавать I/O latency с помощью tc (traffic control) или нагружать CPU).

  • Анализ отклика системы: Смотреть, как ваши метрики (vmstat, iostat, wait events) реагируют на эти воздействия. Строить модели "нагрузка-отклик".

Ценность:

  • Понимание пределов устойчивости вашей системы. Ответ на вопросы: "Как поведет себя СУБД, если диски начнут отвечать в 10 раз медленнее?", "Какую пиковую нагрузку выдержит конфигурация до того как oom_killer убьет Postgres?".

5. Персонализированные рекомендации по настройке (Prescriptive Analytics)

Суть: Это вершина аналитики — не только диагностировать и предсказывать, но и рекомендовать конкретные действия.

Методы:

  • Системы рекомендаций: На накопленных данных можно обучить модель, которая будет предлагать изменить тот или иной параметр PostgreSQL (shared_buffers, work_mem, maintenance_work_mem) или ядра ОС (например, параметры виртуальной памяти) на основе выявленных паттернов.

  • A/B тестирование рекомендаций: Ваша же платформа может использоваться для проверки эффективности этих рекомендаций путем сравнения метрик "до" и "после".

Ценность:

  • Автоматизация рутинной работы по тонкой настройке (database tuning).

6. Продвинутая визуализация и интерактивный анализ

Суть: Предоставить инструмент для человеческого понимания всей этой сложной многомерной данных.

Методы:

  • Heatmaps корреляций и причинностей: Визуализация матрицы корреляций и графа причинно-следственных связей.

  • Cohort Analysis: Группировка инцидентов по типам (I/O bound, CPU bound, Lock contention) и анализ их частоты и тяжести во времени.

  • Интерактивные дашборды: Где можно кликнуть на пик на графике времени отклика и мгновенно увидеть, какие именно метрики на уровне ОС и СУБД вели себя аномально в этот момент.

Итог и рекомендация по приоритету:

Учитывая прогресс в работах, наиболее логичной и потенциально прорывной темой выглядит №2 — Причинно-следственный анализ.

Построена корреляция, теперь пришло время ответить на вопрос "почему?". Это именно тот рубеж, который отделяет просто мониторинг от экспертной системы диагностики. Реализация даже простых методов (как Грэнджера) на столь богатом наборе данных даст огромную практическую ценность.

Далее, естественным образом, можно перейти к прогнозной аналитике (№3), используя выявленные причинно-следственные связи для более точных предсказаний.

Показать полностью
[моё] Субд Postgresql Исследования Длиннопост
1
4
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Стратегии сбора данных уровня SQL-запросов⁠⁠

2 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Данные это основа. Эффективность сбора и обработки данных определяет эффективность системы в целом.

Данные это основа. Эффективность сбора и обработки данных определяет эффективность системы в целом.

Монолитная стратегия

cron - cбор исходных данных статистики SQL-запросов осуществляется одновременно с агрегацией и сглаживанием накопленных данных.

Устойчив и надежен.

Устойчив и надежен.

Преимущества

  • Простота реализации.

Недостатки

  • Дополнительная нагрузка на СУБД и ОС.

  • Возможны большие промежутки между снимками pgpro_pwr.

Отложенная стратегия

cron - cбор исходных данных статистики SQL-запросов

Агрегация и сглаживание выполняется при подготовке отчетов.

Любое дело можно отложить на потом.

Любое дело можно отложить на потом.

Преимущества

  • Минимальная дополнительная нагрузка на СУБД и ОС.

  • Стандартные промежутки для снимков pgpro_pwr.

Недостатки

  • Практическая невозможность получения отчетов по статистике SQL для продуктивных СУБД

Раздельная стратегия

cron-1 - cбор исходных данных статистики SQL-запросов.

cron-2 - агрегация и сглаживание накопленных данных.

Декомпозиция - старый и проверенный временем эффективный способ решения больших задач.

Декомпозиция - старый и проверенный временем эффективный способ решения больших задач.

Преимущества

  • Оперативное получение агрегированных данных

  • Стандартные промежутки для снимков pgpro_pwr.

Недостатки

  • Дополнительная нагрузка на СУБД и ОС.

Показать полностью 3
[моё] Субд Postgresql Длиннопост
0
4
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL⁠⁠

3 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Главное - не победа. Главное - участие.

Главное - не победа. Главное - участие.

Начало

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД

Задача

Провести экспериментальную проверку рекомендаций по настройке конфигурационных параметров СУБД PostgreSQL.

PGTune - поможет рассчитать конфигурацию для PostgreSQL на основе максимальной производительности для данной конфигурации оборудования

Рекомендация PgTune

Набор конфигурационных параметров №3

ALTER SYSTEM SET max_connections = '200';

ALTER SYSTEM SET shared_buffers = '2GB';

ALTER SYSTEM SET effective_cache_size = '6GB';

ALTER SYSTEM SET maintenance_work_mem = '512MB';

ALTER SYSTEM SET checkpoint_completion_target = '0.9';

ALTER SYSTEM SET wal_buffers = '16MB';

ALTER SYSTEM SET default_statistics_target = '100';

ALTER SYSTEM SET random_page_cost = '1.1';

ALTER SYSTEM SET effective_io_concurrency = '200';

ALTER SYSTEM SET work_mem = '2621kB';

ALTER SYSTEM SET huge_pages = 'off';

ALTER SYSTEM SET min_wal_size = '2GB';

ALTER SYSTEM SET max_wal_size = '8GB';

ALTER SYSTEM SET max_worker_processes = '8';

ALTER SYSTEM SET max_parallel_workers_per_gather = '4';

ALTER SYSTEM SET max_parallel_workers = '8';

ALTER SYSTEM SET max_parallel_maintenance_workers = '4';

Операционная скорость

Продолжение и подробности : PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL

Показать полностью 3
[моё] Субд Postgresql Тестирование Длиннопост
0
3
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL⁠⁠

3 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Отчеты - важны.

Отчеты - важны.

Сервисный скрипт для генерации исходных данных для формирования отчетов по результатам нагрузочного тестирования

stress_report.sh 'device-list'

'device-list' : список устройств . Например 'vdb vdc'.

Результат:

Текстовые файлы для последующего импорта в Excel .

1. Операционная скорость

Продолжение и подробности : PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL

Показать полностью 1
[моё] Субд Postgresql Тестирование Отчетность
0
1
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Свечной график⁠⁠

3 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Ну во-первых - это красиво.

Ну во-первых - это красиво.

Задача

Добавить свечной график изменения операционной скорости в ходе нагрузочного тестирования.

Примеры свечных графиков для разных результатов нагрузочного тестирования

Вечерняя звезда

Утренняя звезда

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

Применение технического анализа для PostgreSQL

Показать полностью 2
[моё] Субд Postgresql Тестирование
0
8
kznalp
kznalp
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД⁠⁠

3 месяца назад

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

Цифры не врут, не имеют предпочтений и настроений.

Цифры не врут, не имеют предпочтений и настроений.

Задача

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

Виртуальная машина

  • CPU = 8

  • RAM = 8GB

  • Red OS Murom 7.3

  • PostgreSQL 17

Сценарий тестирования

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

Нагрузка

Ось X - точка наблюдения. Ось Y - количество сессий pgbench

Ось X - точка наблюдения. Ось Y - количество сессий pgbench

Эксперимент-1 : набор конфигурационных параметров №1

wipe_file_on_delete = 'off'
wipe_xlog_on_free = 'off'
wipe_heaptuple_on_delete = 'off'
wipe_memctx_on_free = 'off'
wipe_mem_on_free = 'off'
track_io_timing = 'on'
listen_addresses = '0.0.0.0'
max_connections = '100'
logging_collector = 'on'
log_directory = '/log/pg_log'
log_destination = 'stderr'
log_rotation_size = '0'
log_rotation_age = '1d'
log_filename = 'name-%u.log'
log_line_prefix = '%m| %d| %a| %u| %h| %p| %e| '
log_truncate_on_rotation = 'on'
log_checkpoints = 'on'
archive_mode = 'on'
archive_command = 'true'
archive_timeout = '30min'
synchronous_commit = 'on'
wal_compression = 'on'
idle_in_transaction_session_timeout = '1h'
statement_timeout = '8h'
pg_stat_statements.track_utility = 'off'
shared_preload_libraries = 'pg_wait_sampling, pgpro_stats'
max_wal_size = '4GB'
min_wal_size = '1GB'
effective_cache_size = '6GB'
work_mem = '24MB'
temp_buffers = '48MB'
random_page_cost = '1.1'
effective_io_concurrency = '200'
commit_delay = '0'
shared_buffers = '4GB'
log_autovacuum_min_duration = '0'
log_connections = 'on'
log_disconnections = 'on'

Эксперимент-2 : набор конфигурационных параметров №2

wipe_file_on_delete = 'off'
wipe_xlog_on_free = 'off'
wipe_heaptuple_on_delete = 'off'
wipe_memctx_on_free = 'off'
wipe_mem_on_free = 'off'
track_io_timing = 'on'
listen_addresses = '0.0.0.0'
#max_connections = '200'
logging_collector = 'on'
log_directory = '/log/pg_log'
log_destination = 'stderr'
log_rotation_size = '0'
log_rotation_age = '1d'
log_filename = 'name-%u.log'
log_line_prefix = '%m| %d| %a| %u| %h| %p| %e| '
log_truncate_on_rotation = 'on'
log_checkpoints = 'on'
archive_mode = 'on'
archive_command = 'true'
archive_timeout = '30min'
idle_in_transaction_session_timeout = '1h'
statement_timeout = '8h'
pg_stat_statements.track_utility = 'off'
shared_preload_libraries = 'pg_wait_sampling, pgpro_stats'
commit_delay = '0'
log_autovacuum_min_duration = '0'
log_connections = 'on'
log_disconnections = 'on'

##########################################################
wal_compression = lz4
jit = on
client_connection_check_interval = 3s
default_toast_compression = pglz
enable_async_append = on
autovacuum_vacuum_insert_threshold = 1596
autovacuum_vacuum_insert_scale_factor = 0.01
logical_decoding_work_mem = 64MB
maintenance_io_concurrency = 128
wal_keep_size = 1506MB
hash_mem_multiplier = 1.2
max_parallel_maintenance_workers = 4
max_parallel_workers = 4
max_logical_replication_workers = 4
max_sync_workers_per_subscription = 2
autovacuum = on
autovacuum_max_workers = 4
autovacuum_work_mem = 189MB
autovacuum_naptime = 15s
autovacuum_vacuum_threshold = 1596
autovacuum_analyze_threshold = 798
autovacuum_vacuum_scale_factor = 0.001
autovacuum_analyze_scale_factor = 0.0007
autovacuum_vacuum_cost_limit = 2188
vacuum_cost_limit = 8000
autovacuum_vacuum_cost_delay = 10ms
vacuum_cost_delay = 10ms
autovacuum_freeze_max_age = 500000000
autovacuum_multixact_freeze_max_age = 800000000
shared_buffers = 1779MB
max_connections = 200
max_files_per_process = 1391
superuser_reserved_connections = 4
work_mem = 35MB
temp_buffers = 3990kB
maintenance_work_mem = 196MB
huge_pages = try
fsync = on
wal_level = replica
synchronous_commit = on
full_page_writes = on
wal_buffers = 23MB
wal_writer_delay = 100ms
wal_writer_flush_after = 3050kB
min_wal_size = 1010MB
max_wal_size = 2021MB
max_replication_slots = 0
max_wal_senders = 0
wal_sender_timeout = 0
wal_log_hints = off
hot_standby = off
wal_receiver_timeout = 0
max_standby_streaming_delay = -1
wal_receiver_status_interval = 0
hot_standby_feedback = off
checkpoint_timeout = 15min
checkpoint_warning = 30s
checkpoint_completion_target = 0.8
commit_delay = 0
commit_siblings = 0
bgwriter_delay = 54ms
bgwriter_lru_maxpages = 515
bgwriter_lru_multiplier = 7.0
effective_cache_size = 5081MB
cpu_operator_cost = 0.0025
default_statistics_target = 500
random_page_cost = 1.1
seq_page_cost = 1
join_collapse_limit = 8
from_collapse_limit = 8
geqo = on
geqo_threshold = 12
effective_io_concurrency = 128
max_worker_processes = 8
max_parallel_workers_per_gather = 2
max_locks_per_transaction = 190
max_pred_locks_per_transaction = 190
statement_timeout = 86400000
idle_in_transaction_session_timeout = 86400000
##########################################################

Операционная скорость

Ось X - точка наблюдения. Ось Y - операционная скорость

Ось X - точка наблюдения. Ось Y - операционная скорость

Ось X - точка наблюдения. Ось Y - относительная разница операционной скорости в эксперименте-2 по сравнению с экспериментом-1 .

Ось X - точка наблюдения. Ось Y - относительная разница операционной скорости в эксперименте-2 по сравнению с экспериментом-1 .

Среднее снижение производительности СУБД в эксперименте-2 составило 52.55%

Ожидания СУБД

Ось X - точка наблюдения. Ось Y - ожидания СУБД

Ось X - точка наблюдения. Ось Y - ожидания СУБД

Ось X - точка наблюдения. Ось Y - относительная разница ожиданий в эксперименте-2 по сравнению с экспериментом-1 .

Ось X - точка наблюдения. Ось Y - относительная разница ожиданий в эксперименте-2 по сравнению с экспериментом-1 .

Среднее увеличение ожиданий СУБД в эксперименте-2 составило 22.56%

Продолжение и подробности : PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД

Показать полностью 5
[моё] Субд Postgresql Тестирование Длиннопост
0
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Промокоды Яндекс Еда Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии