Filskiy (обсуждение | вклад) Новая страница: «{{Настройка конфигурации PostgreSQL в Linux}}» |
T.Denisov (обсуждение | вклад) |
||
(не показано 7 промежуточных версий 1 участника) | |||
Строка 1: | Строка 1: | ||
<div style="float: left; text-align: left; padding-right: 10px;">[[0000100102|Предыдущая страница]]</div> | |||
<div style="float: right; text-align: right; padding-left: 10px;">[[0000100104|Следующая страница]]</div> | |||
<div style="float: center; margin: 0 auto; width: 320px;">[[000010000|Вопросы по ОС Linux Astra SE, КРОС, АРМ]]</div> | |||
<div style="float: center; margin: 0 auto; width: 220px;">[[000010010|PostgreSQL в ОС Linux]]</div> | |||
---- | |||
=Общие настройки= | |||
{{Настройка конфигурации PostgreSQL в Linux}} | {{Настройка конфигурации PostgreSQL в Linux}} | ||
=Изменение настроек в соответствии с запросами комплекса= | |||
После запуска ПО, с парамертами по умолчанию, система будет работать с количеством приборов до 300 штук. | |||
Если в охранной деятельности используется порядка 300-500 приборов, тогда необходимо внести изменения в файл smpo.properties. | |||
Рекомендуется изменить параметра '''''db.dataring.max''''' на 30. | |||
Если приборов 500-1000, параметр '''''db.dataring.max=100'''''. | |||
Если приборов больше 1000, тогда поставить значение 300. | |||
Если приборов 3000 и более рекомендуется выставить параметр в значение 500. | |||
Так же необходимо проверить значение параметра '''''server.threads.max.udp''''' по умолчанию оно равно 1000 и указывает количество разрешенных одновременных подключений приборов. Однако необходимо учитывать, что при большом количестве приборов, могут возникнуть проблемы в случае массового отключения каналов связи. При восстановлении связи с сервером может формироваться очередь входящих сообщений, так как скорость обработки очереди зависит от многих физических значений комплекса, поэтому рекомендуется подобрать это значение экспериментально. Например, для начала установить значение 300 и после того как очередь, входящих сообщений будет разобрана, подобрать значение, когда количество входящих обращений не доходит до максимума, указанного в этом параметре. Если данный параметр отсутствует, его необходимо создать. | |||
==Настройки Postgresql при большом количестве приборов== | |||
В данном описании указаны значения для комплекса при использовании 1000-1500 приборов: | |||
* '''max_connections''' = 300 # максимальное количество одновременных транзакций, рекомендуется подбирать в зависимости от потребностей ПО. Примерно в три раза больше значения '''''db.dataring.max''''' | |||
* '''superuser_reserved_connections''' = 10 # Разрешить резервирование соединений для служебного использования. Должен ускорять процесс перезагрузки PostgreSQL, а так же служебный функционал - создание/восстановление и обслуживание БД . | |||
* '''shared_buffer''' = 2048MB # - Буфер PostgreSQL, который является наиболее эффективным настраиваемым параметром для большинства операционных систем. Задается значение - в среднем 25% от ОЗУ. | |||
* '''temp_buffers''' = 512MB # - Объем ОЗУ выделяемый PostgreSQL для текущих временных операции. Обычно 25-50% от значения shared_buffer. | |||
* '''work_mem''' = 256MB # - если вам нужно выполнить сложную сортировку, увеличьте значение для получения хороших результатов. Рекомендуется 10-15% от shared_buffer. | |||
* '''maintenance_work_mem''' = 512MB # — это параметр памяти, используемый для задач обслуживания. Значение по умолчанию составляет 64 МБ. Установка большого значения помогает в таких задачах, как VACUUM, RESTORE, CREATE INDEX, ADD FOREIGN KEY и ALTER TABLE. Рекомендуется 25% от shared_buffer. | |||
* '''wal_buffers''' = 256MB # - PostgreSQL сначала записывает записи в WAL (журнал предзаписи) в буферы, а затем эти буферы сбрасываются на диск. Размер буфера по умолчанию, составляет 16 МБ. Рекомендуется 10-15% от shared_buffer. | |||
* '''effective_cache_size''' = 2048MB # Определяет представление планировщика об эффективном размере дискового кеша, доступном для одного запроса. | |||
* '''checkpoint_timeout''' = 0.3 # - используется для установки времени между контрольными точками WAL. Установка слишком низкого значения уменьшает время восстановления после сбоя, поскольку на диск записывается больше данных, но это также снижает производительность, поскольку каждая контрольная точка в конечном итоге потребляет ценные системные ресурсы. Рекомендаций нет, подбирается экспериментально, для начала можно использовать 0.25. | |||
---- | |||
<div style="float: center; margin: 0 auto; width: 220px;">[[000010010|PostgreSQL в ОС Linux]]</div> | |||
<div style="float: left; text-align: left; padding-right: 10px;">[[0000100102|Предыдущая страница]]</div> | |||
<div style="float: right; text-align: right; padding-left: 10px;">[[0000100104|Следующая страница]]</div> | |||
<div style="float: center; margin: 0 auto; width: 320px;">[[000010000|Вопросы по ОС Linux Astra SE, КРОС, АРМ]]</div> |
Текущая версия от 16:46, 9 октября 2023
Общие настройки
После установки ОС необходимо проверить настройки базы данных. По-умолчанию файлы конфигурации расположены: Linux - /etc/postgresql/9.6/main/ Windows - C:\Program Files\PostgreSQL\9.6\data\ Вначале необходимо проверить файл с конфигурацией разрешенных подключений. Для этого надо открыть файл pg_hba.conf и проверить его содержимое. В данном файле должны быть следующие строки:
local all postgres peer local all all peer host all all 127.0.0.1/32 md5
"9.6" в пути каталога указывает на версию Postgresql. Вызвать файл на редактирование можно командой: sudo nano /etc/postgresql/9.6/main/pg_hba.conf Далее необходимо проверить настройки файла postgresql.conf. Его можно открыть командой: sudo nano /etc/postgresql/9.6/main/postgresql.conf. Для оптимизации соединений к базе данных можно отредактировать следующие параметры: listen_adresses = 'localhost' max_connections = 300 shared_buffers = 1024MB После внесённых изменений, Необходимо перезагрузить Postgresql - sudo /etc/init.d/postrgesql restart
Изменение настроек в соответствии с запросами комплекса
После запуска ПО, с парамертами по умолчанию, система будет работать с количеством приборов до 300 штук. Если в охранной деятельности используется порядка 300-500 приборов, тогда необходимо внести изменения в файл smpo.properties.
Рекомендуется изменить параметра db.dataring.max на 30. Если приборов 500-1000, параметр db.dataring.max=100. Если приборов больше 1000, тогда поставить значение 300. Если приборов 3000 и более рекомендуется выставить параметр в значение 500.
Так же необходимо проверить значение параметра server.threads.max.udp по умолчанию оно равно 1000 и указывает количество разрешенных одновременных подключений приборов. Однако необходимо учитывать, что при большом количестве приборов, могут возникнуть проблемы в случае массового отключения каналов связи. При восстановлении связи с сервером может формироваться очередь входящих сообщений, так как скорость обработки очереди зависит от многих физических значений комплекса, поэтому рекомендуется подобрать это значение экспериментально. Например, для начала установить значение 300 и после того как очередь, входящих сообщений будет разобрана, подобрать значение, когда количество входящих обращений не доходит до максимума, указанного в этом параметре. Если данный параметр отсутствует, его необходимо создать.
Настройки Postgresql при большом количестве приборов
В данном описании указаны значения для комплекса при использовании 1000-1500 приборов:
- max_connections = 300 # максимальное количество одновременных транзакций, рекомендуется подбирать в зависимости от потребностей ПО. Примерно в три раза больше значения db.dataring.max
- superuser_reserved_connections = 10 # Разрешить резервирование соединений для служебного использования. Должен ускорять процесс перезагрузки PostgreSQL, а так же служебный функционал - создание/восстановление и обслуживание БД .
- shared_buffer = 2048MB # - Буфер PostgreSQL, который является наиболее эффективным настраиваемым параметром для большинства операционных систем. Задается значение - в среднем 25% от ОЗУ.
- temp_buffers = 512MB # - Объем ОЗУ выделяемый PostgreSQL для текущих временных операции. Обычно 25-50% от значения shared_buffer.
- work_mem = 256MB # - если вам нужно выполнить сложную сортировку, увеличьте значение для получения хороших результатов. Рекомендуется 10-15% от shared_buffer.
- maintenance_work_mem = 512MB # — это параметр памяти, используемый для задач обслуживания. Значение по умолчанию составляет 64 МБ. Установка большого значения помогает в таких задачах, как VACUUM, RESTORE, CREATE INDEX, ADD FOREIGN KEY и ALTER TABLE. Рекомендуется 25% от shared_buffer.
- wal_buffers = 256MB # - PostgreSQL сначала записывает записи в WAL (журнал предзаписи) в буферы, а затем эти буферы сбрасываются на диск. Размер буфера по умолчанию, составляет 16 МБ. Рекомендуется 10-15% от shared_buffer.
- effective_cache_size = 2048MB # Определяет представление планировщика об эффективном размере дискового кеша, доступном для одного запроса.
- checkpoint_timeout = 0.3 # - используется для установки времени между контрольными точками WAL. Установка слишком низкого значения уменьшает время восстановления после сбоя, поскольку на диск записывается больше данных, но это также снижает производительность, поскольку каждая контрольная точка в конечном итоге потребляет ценные системные ресурсы. Рекомендаций нет, подбирается экспериментально, для начала можно использовать 0.25.