preload

Как настроить PostgreSQL для 1С

27 января 2023

Многие сталкиваются с проблемами при выборе СУБД для программных продуктов фирмы 1С. Есть два варианта – Postgre SQL для 1С/MS SQL. Рассмотрим пути их оптимизации. Настройки производятся с учетом рекомендаций разработчика и специалистов фирмы 1С.

Алгоритм оптимизации будет зависеть от серверов, используемого оборудования и числа пользователей.

Настройка Postgre SQL для 1С

Практика показывает, что программы 1С лучше функционируют с Postgre на ОС Linux. Специалисты рекомендуют выбирать ее. Но стоит принять во внимание, что стартовые настройки во время установки запускают сервер СУБД. От попыток промышленного использования лучше отказаться.

Запускаем систему, затем приступаем к оптимизации для 1С. Далее действуем по шагам:

  • Деактивировать экономию энергии (Energy Saving), установить запрет своппинга разделяемой памяти;
  • Настроить сервер СУБД, руководствуясь рекомендациями на сайте фирмы 1С;
  • Типовые версии 1С рекомендуют отключить Hyper Threading РО, но при серверном тестировании с активной SMT результаты отличаются.

Shared buffers по дефолту предложено установить в RAM_4. Но если руководствоваться примером SQL Server, то объем выделенной памяти напрямую влияет на производительность.

Чем больше страниц с данными содержит оперативная память, тем меньше приходится обращаться к диску.

Почему такая маленькая кэш память?
Ответ прост: при большом shared buffers некоторые неиспользуемые страницы сохраняются на диске.


Как понять, что сброс прекратился и параметр в норме?
Чтобы показатель shared buffers привести в норму, необходимо каждый день обеспечивать его продуктивное поднятие с интервалом прироста. При этом важно не пропустить начало сброса страниц на диск с повышением свопа.


Большое значение обусловлено отрицательное влияние, связанное с обработкой большого количества мелких страниц (8 кб). Такие страницы повышают расход памяти.

Оптимизация PostgreSQL для 1С (увеличение памяти)

Postgre SQL для Linux (версия 9.4) обладает новым параметром “huge pages”. Страницы 2048 кб включены по дефолту. Путем такой оптимизации можно повысить объем shared buffers.

Параметр work_mem = RAM/32..64 либо 32 МБ..128 МБ отражает вместительность памяти, предназначенной для внутренних действий (объединение, сортировка и др.). В случае превышения этого объема сервер начнет расходование временных файлов диска, что отрицательно скажется на скорости выполнения запросов.

Для исчисления этого параметра можно использовать формулу:
Память shared buffers – предназначенная для использования другими программами/активные соединения (кол память, -во).


Уменьшение параметра памяти

Для этого нужно будет контролировать количество временных файлов, которые создаются системой. Статистика находится в pg stat database.

Значение параметра effective_cache_size = RAM - shared_buffers станет подсказкой того, какой лучше выбрать метод получения данных. Это может быть полноценный просмотр или сканирование индекса. При высоком значении нужно выбирать сканирование.

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


Алгоритм установки Postgre SQL

Установку Postgre SQL для 1С для устройств с ОС Windows выполнить не сложно. После запуска дистрибутива нужно указать кодировку – UTF-8. Больше никаких особенностей нет.

Сложнее произвести установку на ОС Linux. Чтобы вам было проще разобраться, рассмотрим на примере – установим Постгри на Ubuntu (16.04*64).

Установка загрузочного файла

Первым делом скачиваем дистрибутив Постгри SQL и загружаем его на сервер .

Затем необходимо распаковать архив с помощью команды: tar -xvf postgresql-9.4.2-1.1C_amd64_deb.tar.bz2

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


locale-gen ru_RU
update-locale LANG=ru_RU.UTF8
dpkg-reconfigure locale

Если требуемая локализация имеется в наличии, то устанавливаем по умолчанию:
locale –a
nano /etc/default/locale
Делаем замену: LANG=ru_RU.UTF-8

Перезагружаем, затем устанавливаем пакеты для Постгри:
apt-get install libxslt1.1 ssl-cert

Пакет Постгри 9.4.2-1.1С связан с libicu48. Необходимую версию нужно будет скачать отдельно. Затем ее нужно переместить в каталог со сказанными файлами.

Заходим в каталог файлов, приступаем к установке:
cd <Путь к папке с файлами>
dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb
dpkg -i libpq5_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-client-common_154.1.1C_all.deb
dpkg -i postgresql-common_154.1.1C_all.deb
dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb
dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb


Все действия выполнены, дистрибутив СУБД Постгри SQL установлен.

Postgre SQL Pro

Для установки сервера выполняем последовательно ряд команд:

sudo sh -c 'echo "deb http:// 1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'
wget --quiet -O - http:// 1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add - && sudo apt-get update
sudo apt-get install postgresql-pro-1c-9.

Для доступа к серверу нужно отредактировать конфигурации в файле pg_hba.conf:


сd <Путь до каталога pg_hba.conf>
cp pg_hba.conf pg_hba.conf.old
bash -c "echo 'local all postgres trust' > pg_hba.conf"
bash -c "echo 'host all all all md5' >> pg_hba.conf"

Итоговый файл будет выглядеть примерно вот так:

пострги 1С


В файле есть достаточно подробная документация на английском языке. Предоставляем самые важные параметры и их обозначения:

Type:

  • Local – локальное соединение (unix);
  • Host – по IP/TCP;
  • Hostssl – подключение с шифрованием;
  • Hostnossl – подключение без шифрования.

Method:

  • Trust – доступ без ауентфикации;
  • Reject – отказ без аутентификации;
  • Password –открытый текст пароля;
  • Md5 – запрос пароля;
  • Ldap – повторение имени и пароля через сервер;
  • Radius – повторение имени и пароля через сервер;
  • Pam – проверка имени и пароля службой модулей подключения.

Завершающий этап – запускаем сервер:

root@NODE2:/home/asd# service --status-all |grep postgres
[ - ] postgresql
root@NODE2:/home/asd# service postgresql start
root@NODE2:/home/asd# service --status-all |grep postgres
[ + ] postgresql

По завершении установки нужно настроить файл конфигураций сервера с учетом специфик деятельности.


Возврат к списку

Не знаете какой продукт или услугу выбрать?

Cвяжитесь с нами или оставьте свои данные и мы свяжемся с вами

Звоните нам бесплатно

Звоните нам бесплатно

+7 (495) 506-74-81
home

Приходите к нам

105064, Москва, ул. Казакова, д.27
Яндекс.Метрика Связаться с менеджером
Нужна помощь?
+7 (495) 506-74-81