Все потоки
Поиск
Написать публикацию
Обновить

Комментарии 12

DBA и так используют скрипты для оптимизации настроек под системные ресурсы при установке. Дописывать в конец postgresql.conf кажется не лучшее решение. Лучше уж отдельный журнал с историей изменений.

Shared buffers от 25% RAM - В любом посте про оптимизацию postgres.

Как насчёт effective io concurrency / random page cost? Определит под виртуализацией?

Есть примеры менее популярных параметров для оптимизации?

А куда бы Вы предложили писать отдельный журнал и зачем? В pgpro_tune настройки попадают в конец postgresql.conf с заголовком и футером, то есть получается своего рода журнал запуска автонастройки. Всё лишнее в этой секции можно убрать или поправить.

Как насчёт effective io concurrency / random page cost? Определит под виртуализацией?

Нет конечно. Если ОС не определила, куда там постгресу угадывать, какие по типу диски, круглые или квадратные. Просто по-умолчанию считаем, что в современных серверах диски твёрдотельные. Это будет верно в 90%. Кто бы ещё io scheduller в ОС при этом настроил...

Есть примеры менее популярных параметров для оптимизации?

Конечно есть. Настройки по сжатию, autoprepare_threshold, log2_num_lock_partitions и дальше будет больше.

Смысл автонастройки — не заменить человека, особенно квалифицированного, а туповатым роботом получить сразу после установки более-менее адекватно настроенную СУБД. В СУБД от Postgres Pro и раньше была возможность автонастройки, но её можно было запустить только во время инициализации кластера, и только если явно указать. Этот новый функционал позволит запускать автонастройку автоматом всегда, а также явно по мере надобности, например, после изменения аппаратной конфигурации сервера. Во-первых, не забываем, что есть много DBA, которые не настолько хорошо умеют настраивать постгрес, что просто боятся что-то трогать, а если трогают, то часто не то и не так. Во-вторых, квалифицированные DBA могут просто посчитать параметры по памяти, если её увеличили в виртуалке, а лишнее стереть.

А под 1С настроит?

А когда это появится и как будет называться пакет?

pgpro_tune уже выходит в составе текущих (майских) релизов всех редакций продуктов, от 1С до Enterprise, как неотъемлемая часть дистрибутивов. Отдельный пакет для него не требуется.

Стоит Enterprise 16.8.2

Нет ни бинарника, ни в документации ни слова

С какой версии должен быть?

Как и ранее писал, что появится при обновлении. Подождите недельку, когда докатиться обновление для 16 версии, и обновитесь на новую версию.

Здравствуйте,

Печально, что pgpro_tune  нельзя передать заданное количество ядер и количество памяти. Надо организовать множество инстансов внутри lxc машины, а утилита видит только характеристики хостовой машины. Если бы была возможность вручную указать, было бы чудесно.

При запуске из docker так же, видит только хостовые параметры (железячные)

docker run -d
--memory=10g
--cpus=8 \

Спасибо, пропустил.

export MEMMB=10240
export NCPU=8
Перед initdb почему-то не срабатывают.

Спасибо ещё раз! Всё отлично работает, не прочитал внимательно сразу.

initdb --pgdata=$PGDATA --encoding=unicode --locale=ru_RU.UTF-8 --auth=trust --pwfile=/tmp/pwfile --tune="--set MEMMB=10240 --set NCPU=8"

или

su -l postgres -c 'initdb --pgdata='${PGDATA}' --encoding=unicode --locale=ru_RU.UTF-8 --auth=trust --pwfile=/tmp/pwfile --tune="--set MEMMB='${MEMMB}' --set NCPU='${NCPU}'"'

Зарегистрируйтесь на Хабре, чтобы оставить комментарий