Комментарии 11
Спасибо, очень интересно и очень вовремя! Вопрос, я не настоящий сварщик, поэтому не очень хорошо разбираюсь во внутренней кухне Posgresql. Мне от коллеги достался 1с + Pgpro 14 и я сейчас посмотрел на конфиг и обнаружил, что параметры
- max_parallel_workers_per_gather
- max_parallel_maintenance_workers
у меня вообще отсутствуют. Точнее первый закомментирован, а второй даже не указан в конфиге. Стоит добавить в конфиг? Сервер - виртуалка, но памяти много и на быстрой дисковой системе.
Лучше разберитесь что эти параметры делают и когда они нужны. Есть хороший бесплатный курс, который можно посмотреть, скачать и попробовать от разработчиков Postgres, про оптимизацию вообще всего в PG. Хотя я советую вообще все курсы оттуда пройти, если планируете активно использовать pg в продакшене.
Тогда все рекомендации начнут обретать определённый смысл и начнёте разбираться как тонко настроить субд, чтобы выжать максимум из железа. Плюс научитесь менять эти параметры в зависимости от изменений в самой БД. Тогда вас будет жёстко триггерить от того, что люди не понимают значение effective_io_concurrency
и как работает SATA и NVMe протоколы (да и вообще дисковая и файловая системы).
Сложно давать рекомендации, не видя картины в целом. Обратите внимание на файл postgresql.auto.conf. Необходимо вывести через командную строку список всех параметров и там вы увидите то, что ищите. Скорее всего там эти параметры не затронуты.
На у в целом сломать конфиг довольно сложная задача, мы пытались :)
В дополнение к postgresql.conf в каталоге данных PostgreSQL содержится файл postgresql.auto.conf, который имеет тот же формат, что и postgresql.conf, но предназначен для автоматического изменения, а не для редактирования вручную. Этот файл содержит параметры, задаваемые командой ALTER SYSTEM. Он считывается одновременно с postgresql.conf и заданные в нём параметры действуют таким же образом. Параметры в postgresql.auto.conf переопределяют те, что указаны в postgresql.conf.
Где-то с тринадцатой версии платформы 1С каждый раз при ставке во временной таблице делает аналайз автоматом. Поэтому в online_analyze и online_analyze.table_type = 'temporary' нет никакого смысла.
уже не единственное, есть СУБД Тантор и там как раз порог входа ниже
Есть примеры как 1С работает с Тантором?
публичных сравнений не видел, но вот их сегодняшняя новость - там и про 1С написано: https://astralinux.ru/news/category-news/2023/tantor-labs-predstavila-obnovlennuyu-platformu-monitoringa-i-administrirovaniya/
судя по описанию она должна хуже работать чем postgres pro ent
там фактически ванильный pg плюс патчи 1с, по идее будет на уровне сборки pg с сайта 1с, но при этом ещё и денег захотят
поверю в преимущества когда тантор хотя бы покажет внятный бэкапер с мониторингом RPO/RTO без убогой командной строки, целостности бэкапов, контролем места под бэкапы и потерей не более 30 секунд на одном экземпляре без установки кучи "левых" пакетов c наглядным восстановлением на новом железе, а не переупаковку старых продуктов в новую обертку
Понеслось импортозамещение по в массы - не все PostgresPro одной сливки снимать, надо больше клоУнов ... "СУБД Tantor - это собственная разработка компании ООО «Лаборатории Тантор» на основе открытой СУБД PostgreSQL. В дополнение к богатому функционалу PostgreSQL включены ряд доработок, улучшающих характеристики СУБД, а также набор инструментов, необходимых в повседневной эксплуатации."
Оценка производительности 1С + Postgres Pro при изменении различных параметров конфигурационного файла postgresql.conf