Есть связка 1С Сервер на Windows 2016 Server (10 ядер 10Гб) + PostgreSQL 11 от 1C на Centos 7 (6 ядер 16 Гб). На ней в течение уже 2-х лет крутится БГУ 2.0.
В этом году начали внедрять ЗКГУ. По некоторым причинам (были непонятные проблемы с самой конфигурацией) сначала развернули на MS SQL 2008 на том же сервере, что и 1С. Памяти MS SQL выделили 1Gb. Все было хорошо. Теперь перенесли базу на Postgre.
И возникла такая проблема: Нужно было удалить некоторые записи из регистра "перерасчеты зарплаты"при попытке просмотра данного регистра загрузка одного ядра сервера с Postgres составляла 100% в течение где-то 10-15 минут, при этом объем памяти запрошенный Postres возрастал до 15,5Гб физической и 22Гб виртуальной. Соответственно, такая картина наблюдалась при любых действиях с регистром.
В этом году начали внедрять ЗКГУ. По некоторым причинам (были непонятные проблемы с самой конфигурацией) сначала развернули на MS SQL 2008 на том же сервере, что и 1С. Памяти MS SQL выделили 1Gb. Все было хорошо. Теперь перенесли базу на Postgre.
И возникла такая проблема: Нужно было удалить некоторые записи из регистра "перерасчеты зарплаты"при попытке просмотра данного регистра загрузка одного ядра сервера с Postgres составляла 100% в течение где-то 10-15 минут, при этом объем памяти запрошенный Postres возрастал до 15,5Гб физической и 22Гб виртуальной. Соответственно, такая картина наблюдалась при любых действиях с регистром.
По теме из базы знаний
- "Микро-WMS": базовая WMS с упрощенной архитектурой, открытым кодом на PostgreSQL и клиентами на SimpleUI
- Адекватный параллелизм в 1С
- Опыт использования Ansible в мире 1С
- Распространённые ошибки при установке PostgreSQL для 1С и реализация их устранения в продуктах компании Postgres Professional
- Переход на Linux+PostgreSQL для информационной базы 2 Tb
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Изменил следующие параметры в postgresql.conf
temp_buffers = 128MB Было 256МВ
work_mem = 64MB Было 128МВ
maintenance_work_mem = 64MB Было 128МВ
effective_io_concurrency = 2 Было 8
effective_cache_size = 8GB Было 12
И убрал в комментарии следующие строки:
#geqo_threshold = 8
#from_collapse_limit = 16
#join_collapse_limit = 16 # 1 disables collapsing of explicit
Вроде бы все заработало с приемлемой скоростью....
Вопрос, что это было остался....
Текущий файл конфигурации postgresql.conf прикладываю.
ЗЫ: Сервер виртуальный на ЦОДе с сетевым хранилищем
temp_buffers = 128MB Было 256МВ
work_mem = 64MB Было 128МВ
maintenance_work_mem = 64MB Было 128МВ
effective_io_concurrency = 2 Было 8
effective_cache_size = 8GB Было 12
И убрал в комментарии следующие строки:
#geqo_threshold = 8
#from_collapse_limit = 16
#join_collapse_limit = 16 # 1 disables collapsing of explicit
Вроде бы все заработало с приемлемой скоростью....
Вопрос, что это было остался....
Текущий файл конфигурации postgresql.conf прикладываю.
ЗЫ: Сервер виртуальный на ЦОДе с сетевым хранилищем
Прикрепленные файлы:
postgresql.conf
Вопрос в том, что хотелось бы не тупо задать какие-то цифирки в параметрах, а понять, на что каждая конкретная цифра и как влияет. Интернет при первоначальной настройке Postree и так весь перерыли. Что-то выставили в соответствии с pgtune, что-то в соответствии с логикой и некоторыми статьями. И да, почему-то во всех статьях о настройке памяти забывают о выделении памяти для операционной системы.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот