PostgreSQL: вынос pg_stat_tmp на рамдиск - насколько это безопасно?

1. audion 04.09.13 16:29 Сейчас в теме
Уважаемые коллеги, обсуждения в соседних ветках заставили вспомнить один простой прием повышения производительности PostgreSQL.
Дело в том, что при интенсивной работе с БД очень большое кол-во дисковых операций идет с каталогом pg_stat_tmp, в чем легко убедиться, выполнив во время интенсивной работы 1С sudo inotifywatch -e /var/lib/pgsql/ и подождав минут 5-10, пока соберется достаточно статистики.
Вынос этого каталога в рамдиск - чуть ли не стандартная процедура для больших БД.
Объем там большой не требуется, и с многократным запасом хватит 1 ГБ. В общем, надо добавить в /etc/fstab строчку
tmpfs /var/lib/pgsql/data/pg_stat_tmp tmpfs noatime,nodiratime,size=1000M,mode=700,uid=36,gid=36

где uid и gid определяются командой id postgres.
ну и mount -a
Все просто.
Кто-нибудь так делал?

Насколько это безопасно? Например, если сервер запитан от обычного БП Delta, не самого плохого, но, к сожалению, одиночки, без дублера. ИБП APC Smart 3000 есть, nut настроен и работает.
В принципе, вопрос: что произойдет с БД, если просто во время работы выдернуть шнур питания? Вся остальная дисковая система - аппаратный рэйд с батарейкой.
Да, память ecc-шная, иначе смысла в этом нет, ИМХО. Или ошибаюсь?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. AnryMc 849 04.09.13 21:00 Сейчас в теме
(1) audion,

А насколько безопасно хранить базу в оперативной памяти?
9. audion 04.09.13 21:13 Сейчас в теме
(7) AnryMc, так не базу, база на рэйд 10, а в ОЗУ только лишь временные файлы статистики. Разные вещи.
cleaner_it; Nigelist; +2 Ответить
8. AnryMc 849 04.09.13 21:03 Сейчас в теме
(1) audion,
от обычного БП Delta, не самого плохого, но, к сожалению, одиночки, без дублера


А это выход (дублер)? Дублер должен сидеть, как минимум, на другой фазе, а еще лучше на подводке от другой подстанции...
10. audion 04.09.13 21:13 Сейчас в теме
(8) AnryMc, да хотя бы на другом ИБП :-)
11. AnryMc 849 04.09.13 21:25 Сейчас в теме
(10) audion, ИБП бывают двухканальные, но если они "воткнуты в одну розеткетку"...
12. audion 04.09.13 21:30 Сейчас в теме
(11) AnryMc, да понятно, дело не в этом: сдохшие БП мне лично доводилось видеть гораздо чаще, чем ИБП. Конечно, нет предела совершенству, но лучше уж так, чем ничего.
2. ansh15 04.09.13 17:19 Сейчас в теме
http://postgresql.1045698.n5.nabble.com/pg-stat-tmp-file-td5754200.html
Пишут, что не страшно. Хотя, конечно, лучше проверить( только не рабочем сервере :) )
3. audion 04.09.13 17:50 Сейчас в теме
(2) ansh15, Спасибо Вам большущее, значит, пробую!
4. audion 04.09.13 19:25 Сейчас в теме
В общем так: добавилось примерно 5 ед. по тесту Гилева, теперь от 39 до 43. Тест нельзя считать полностью адекватным, т.к. 15 пользователей работают, выполняются фоновые задания, автовакуум и т.п. Будем посмотреть дальше.
5. ansh15 04.09.13 20:07 Сейчас в теме
Fragster, http://infostart.ru/profile/19445/, как-то советовал по поводу nobarrier для дисков, на которых находятся базы, при увеличении нагрузки на дисковую подсистему вполне может помочь.
http://www.linuxquestions.org/questions/debian-26/get-ext4-faster-using-using-mount-option-nobarrier-4175463340/
6. audion 04.09.13 20:27 Сейчас в теме
(5) ansh15, хорошая идея, конечно, я об этом читал и думал в свое время, остановила фраза из приведенного Вами обсуждения:
What disadvantages if to turn barriers off?
BTW I didn't tried jet.
Exactly what you wrote: risk of "severe file system corruption and data loss ... in case of power failure."

Тут может быть все что угодно, от пропадания контакта на коннекторе питания винчестера или корзины, выбивания шнура питания из сервера, отключение не того ИБП, в конце концов - сам БП может сдохнуть, а он один, резервного нет.
ИМХО не стоит оно того. У меня сейчас совершенно однозначно все уперлось в процессор, вернее, в ТЧ. Думаю, больше из того, что есть, выжать уже не удастся - без риска для информации, конечно.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот