На днях писал заметку про мониторинг SSD дисков в связи с повышенным расходом ресурса записи. Решил повнимательнее посмотреть на сервер, чтобы понять, кто там так много пишет. Оказалось, что это PostgreSQL и конкретно временные данные статистки, живущие в директории pg_stat_tmp.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Выдержка из документации по поводу этого параметра:
Задаёт каталог, в котором будут храниться временные данные статистики. Этот путь может быть абсолютным или задаваться относительно каталога данных. Значение по умолчанию — pg_stat_tmp. Если разместить целевой каталог в файловой системе в ОЗУ, это снизит нагрузку на физическое дисковое хранилище и может увеличить быстродействие. Задать этот параметр можно только в postgresql.conf или в командной строке при запуске сервера.
В документации указано, что эту директорию можно вынести в ram диск, что я и сделал в итоге. По дефолту она занимает всего 25 мегабайт, так что я решил с запасом сделать диск размером 1G.
mkdir /var/lib/pgsql_stats_tmp chown postgres:postgres /var/lib/pgsql_stats_tmp
Теперь добавляем в fstab (не забудьте в конце переход на новую строку поставить):
tmpfs /var/lib/pgsql_stats_tmp tmpfs size=1G,uid=postgres,gid=postgres 0 0
Монтируем диск в систему:
mount /var/lib/pgsql_stats_tmp
Меняем параметр в postgresql.conf:
stats_temp_directory = '/var/lib/pgsql_stats_tmp'
Перезапускаем postgresql:
systemctl restart postgrespro-1c-13
Теоретически должна и производительность повыситься, но я не измерял. С учетом того, что SSD и так достаточно быстрый, разница будет не заметна на уровне погрешности измерений.
Как можно было догадаться из названия сервиса postgresql, настраивалось все это для сервера 1С. Так что если вам предстоит переезд на postgresql, заметку сохраните. Наверняка пригодится.
Если есть вопросы по поводу переезда или подбора сервера под 1С, задавайте. Статья может получится на эту тему, а может и нет. Не знаю, как со временем будет. Там должны быть бэкапы, запасной сервер для разворачивания и тестирования бэкапов баз, автоматическая выгрузка баз в dt, мониторинг. В общем все, что надо для промышленной эксплуатации.
Источник - мой канал: https://t.me/srv_admin/903.
В PostgreSQL сервере версии 15 и выше параметр 'stats_temp_directory' больше не используется и надобности в нём нет. В т.ч. в версиях от/для 1С.
сделайте синхронизацию комментариев сайта и комментариев поста в телеге
А вы знаете, как это технически можно реализовать каким-то готовым решением?