Как PostgreSQL работает с диском, Илья Космодемьянский PostgreSQL Consulting

RUTUBE · 24.11.2025 07:26

Ключевые темы и таймкоды

Проблемы с записью на диск в PostgreSQL

0:30
  • В видео обсуждаются проблемы с записью на диск в PostgreSQL, включая проблемы с высоким IOPS и чик-пойнтами.
  • Приводятся примеры статистики и графиков, которые могут помочь в оптимизации работы базы данных.

Рекомендации по оптимизации

9:56
  • Обеспечить базу правильным оборудованием, включая хороший RAID-контроллер с батарейкой.
  • Периодически сбрасывать статистику и анализировать ее для оптимизации работы базы данных.
  • Использовать правильные настройки и инструменты для мониторинга и оптимизации работы базы данных.

Рекомендации по выбору RAID-контроллера

12:23
  • Видеоролик начинается с обсуждения рекомендаций по выбору RAID-контроллера.
  • Автор подчеркивает, что не рекламирует конкретного производителя, но предпочитает использовать MegaRAID или PERC, так как они имеют более консервативные утилиты управления и меньше проблем с настройками.
  • Он также упоминает, что HP делает хорошие RAID-контроллеры, но их системы могут иметь проблемы с дисками, когда используются не самые дорогие модели.
  • Автор рекомендует использовать маленькие диски маленького форм-фактора, так как они обеспечивают лучшую скорость и меньше проблем с головками.

Советы по использованию SSD

14:31
  • Автор советует не использовать десктопные SSD для баз данных, так как они могут иметь меньше циклов перезаписи и могут выйти из строя.
  • Он также рекомендует не использовать SSD для инсталляций и баз данных, так как последовательная запись не ускоряется на SSD и может сократить количество циклов перезаписи.
  • Автор также рекомендует использовать RAID 10, так как он более быстрый и надежный, чем RAID 5 или 6.

Файловая система и производительность базы данных

17:20
  • Автор обсуждает важность настройки файловой системы для максимальной производительности базы данных.
  • Он подчеркивает, что синхронный коммит может привести к потере последних транзакций, но это может быть приемлемо для некритичных данных.

Проблемы с журналированием и операционными системами

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

Настройка операционной системы и файловой системы

21:36
  • Обсуждаются настройки операционной системы и файловой системы, такие как установка параметров для сброса грязных страниц на диск и настройка чекпойнтов.
  • Упоминается утилита для проверки правильности настройки системы.

Автовакуум в PostgreSQL

27:09
  • Рассказывается о проблеме автовакуума в PostgreSQL и о том, как правильно его настроить, чтобы избежать проблем с производительностью.

Автовакуум и его настройка

28:34
  • Автовакуум настраивается на основе параметров автовакуум скайлфектор и автовакуум проз.
  • По дефолту автовакуум выставлен на 20%, что означает, что при изменении 20% записей, предыдущие версии удаляются.
  • Если автовакуум настроен агрессивно, это может вызвать проблемы с производительностью и дисковым вводом-выводом.
  • Рекомендуется выставлять автовакуум на минимально возможные показатели, чтобы избежать аверхеда по дисковому вводу-выводу.

Особенности настройки автовакуума на виртуальных машинах

33:58
  • В виртуальных машинах возникают проблемы с вводом-выводом и непредсказуемым латенси диска, что может привести к потере транзакций.
  • Рекомендуется отключить синхронный коммит и использовать эфс или в дата синг.
  • На дисках без конденсатора рекомендуется отключить райт кэш.

Постгрес на бее и фрибо

38:36
  • Постгрес работает на бее, но производительность может отличаться от линукса из-за особенностей ядра и оптимизаций.
  • Фрибо отстает от линукса в поддержке хьюч пейджс и оптимизации синка на диск.
  • Рекомендуется использовать эфс или в дата синг для оптимизации производительности.

Оптимизация работы с базами данных

40:55
  • Обсуждение оптимизации работы с базами данных, которые обновляются раз в месяц.
  • Если база данных растет монотонно, то имеет смысл наладить процедуру архивирования неактуальных данных.
  • Для баз, где много чтения, имеет смысл использовать классическую архитектуру с SSD и SSD-спейсами.

Архивирование данных и оптимизация работы с базами

42:34
  • Архивирование данных позволяет оптимизировать работу с базами данных и улучшить производительность.
  • Можно использовать SSD-спейсы для оптимизации чтения и кэширования данных.
  • Если данные не нужны для текущей работы, их можно архивировать на другую машину или удалить.