1С + PostgreSQL + SSD: Куда уходит ресурс хост-записей?

Публикация № 1118674

Администрирование - Администрирование данных 1С

PostgreSQL SSD pg_stat хост-записи

32
Работа PostgreSQL на SSD начиная с 10 версии, резко увеличивает нагрузку на ресурс SSD, даже когда к базе нет коннектов.

После обновления PostgreSQL c 9 на 10 версию, я заметил странное - ресурс SSD (хост-записи) начал резко уменьшаться. На рабочих SSD это было не заметно и я бы не обратил внимание, но там где находятся тестовые базы, счетчик хост-записей показывал запись от 3 до 9 ГБайт в день. Что было более чем странно. В принципе для SSD это не нагрузка, но...

Анализ показал, что виновник - сборщик статистики PostgreSQL. Настройки (кроме памяти) я использую стандартно-рекомендованные. Статистику PostgreSQL пишет в каталоги pg_stat, pg_stat_tmp. Файлы там обновляются очень часто.

Выход довольно прост - перенести эти каталоги на HDD или Memory Disk. В принципе на сервере памяти хватает и 0,25 ГБайта не жалко.

Диск можно создать любым приложением, я использую - imdisk. Вызывать можно из планировщика или сделать отдельный скрипт для старта PostgreSQL. 

imdisk -a -s 250M -m M: -p "/fs:NTFS /V:MemDisk /q /y"
m:
mkdir pg_stat_tmp

В postgresql.conf нужно дописать:

#stats_temp_directory = 'pg_stat_tmp'
stats_temp_directory = 'M:\pg_stat_tmp'

Если PostgreSQL стартанет до того, как будет инициализирован Memory Disk, то статистика пойдет в каталоги "по умолчанию".

По моим наблюдениям, каталог со статистикой не растет дальше определенного размера и зависит от количества баз \ таблиц. После переноса файлов статистики, количество хост-записей упало до 1 Гбайта в день - что больше похоже на правду.

32

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ogidni 144 06.09.19 22:25 Сейчас в теме
Скорость работы выросла?
2. 2tvad 54 06.09.19 23:22 Сейчас в теме
(1) Я не заметил прироста. На рабочих базах по ощущениям скорости тоже не прибавилось. Скорее всего дисковая подсистема не является у меня узким местом. А вот процы у меня слабоваты, что на рабочем, что на тестовом сервере.
3. GreenDragon 07.09.19 08:54 Сейчас в теме
(1) Так он же не данные перенёс, а всего-лишь статистику.
4. stopa85 07.09.19 20:53 Сейчас в теме
Мне это давало 2-3 попугая по тесту Гилева, но на hdd.
5. ogidni 144 09.09.19 10:43 Сейчас в теме
можно было и временные таблицы за одно туде же на Ramdisk, тогда гарантированнно будут попугаи. Медленная работа с временными таблицами - это узкое место Слонов.
Что касается старения SSD-то перенос статистики на другой диск мало чем поможет - Слон не перезаписывает данные - удаляет данные блоками и пишет новые.
Так что SSD для слона это необходимые для рациона корм и считать его думаю нет смысла.
6. 2tvad 54 09.09.19 11:57 Сейчас в теме
(5) У меня не настолько много оперативки. С тем что производительность должна вырасти, согласен.

В рабочих базах лишние 3-9 гбайт хост-записей в день, у меня и не видно. Но в тестовых средах и там где пользователей не очень много, это может быть существенным. Все же в тестовых средах использовать серверные SSD дорого, мы используем "середнячков" из обычных линеек.
Оставьте свое сообщение