
Evgeniy
11.11.2016
19:33:13
можешь взять эту штуку https://github.com/gleu/pgstats
и в риалтайме посмотреть на pg_stat_bgwriter

Oleg
11.11.2016
19:34:17
3gb shared_buffer

Google

Oleg
11.11.2016
19:34:41
судя по использованной в системе памяти, он можно сказать вообще не забивается

Evgeniy
11.11.2016
19:34:44
поидее у тебя не должно быть свободных страничек, чтобы бекенды сами пошли сбрасывать

Oleg
11.11.2016
19:35:00
по идее, да.
но у процессов посгреса шаред мемори мелкий.

Evgeniy
11.11.2016
19:35:13
а вот почему твой bgwriter так мало пишет, для меня загадка

Oleg
11.11.2016
19:36:04
да, я тоже не могу этого понять.
вроде delay вообще мелкий стоит
и писать должен сразу и много
но такое ощущение что он вообще не приходит

Evgeniy
11.11.2016
19:37:01
ну посмотри с помощью pgstats чо как у тебя с памятью
довольно удобная штука
поидее если увидишь что нихера нет свободных буферочков, прибавляй шаред буферс
но тут можно потом соснуть с чекпоинтами

Oleg
11.11.2016
20:17:55
Хорошо, попробую понаблюдать. Но по моим ощущениям он не должен быть забит.

Google

Alexander
11.11.2016
23:21:26
в общем-то, если добавить к ней выполнение SQL, то сойдёт) [ https://pypi.org/project/django-sql/ ], но я и так каждый раз Django использую, в данном случае есть возможность посмотреть на любые другие решения

Mike Chuguniy
12.11.2016
06:40:32
Осетринки захотелось?! А крокодила Вам не надо?! (с) старуха Шапокляк
ФСТЭК и PostgresPro: http://ru-postgres.livejournal.com/42863.html
Сертификат удостоверяет, что СУБД Postgres Pro соответствует требованиям руководящих документов РД СВТ по 5 классу, РД НДВ по 4 уровню и Технических Условий (ТУ).
Ну и вот это всё, однако.

Phil
12.11.2016
06:44:03

Mike Chuguniy
12.11.2016
06:45:19
Ну и насчёт фиговых бумажек - я бы не был так категоричен.

Alexander
12.11.2016
06:57:45
а стоит использовать этот Postgres Pro по умолчанию вместо Postgres?
похоже, она тоже бесплатная, как и Postgres и там какие-то ништяки есть

Mike Chuguniy
12.11.2016
07:01:36
@lorddaedra когда меня начинают терзать сомнения, я привык знакомиться с предметом более детально по через чтение соответствующей документации в первую очередь.
Это долго, грустно и печально. Особенно когда начальство требует вчера.
А я предмет в первый раз вижу.

Eugene
12.11.2016
07:03:12


Alexander
12.11.2016
07:05:38
ну, начальства у меня нет) я сам по себе, творю и вытворяю то, что мне хочется))
там есть страница с преимуществами этой версии) как бы понятно, что версия Pro чем-то лучше и это следует хотя бы из названия)
ни одна из тех фич мне реально не нужна) но как бы если можно нахаляву "прокачать тачку", почему бы и не прокачать?) бесплатно же что-то там улучшится, вдруг оно когда-нибудь действительно понадобится)
то есть вроде как я могу это поставить в Docker вместо варианта Postgres по умолчанию) и я даже уже нашёл Dockerfile https://hub.docker.com/r/chernoskutov/postgres-pro/~/dockerfile/
но вопрос в том, а действительно ли там всё так круто или это просто ради распила и импортозамещения сделано было и не более того?

Eugene
12.11.2016
07:06:54
иначе можно было просто расширениями обойтись
а чего они не зарегали домен postgtres.pro ?))

Alexander
12.11.2016
07:08:10
можно зарегить и им перепродать ?

Eugene
12.11.2016
07:08:24
хаха
я предпочитаю придерживаться официальной версии postgtresql разве что расширения ставлю на свое усмотрение

Mike Chuguniy
12.11.2016
07:10:32
> а действительно ли там всё так круто или это просто ради распила и импортозамещения сделано было и не более того?
Истина, как всегда, где-то рядом. Но прежде чем говорить о бессмысленном попиле бабла, я настоятельно рекомендую ознакомиться с соответствующими руководящими документами ФСТЭК, Есть там указивки, реализация которые по через расширения, лично у меня вызывает очень много вопросов. Например, гарантированная зачистка памяти при удалении данных.

Google

Alexander
12.11.2016
07:10:55
меня вот спугнуло то, что сайт на русском заполнен лучше, чем на английском, то есть упор у них явно не на глобальный рынок
а я всегда слегка побаиваюсь бизнеса по-русски, не очень-то он надёжный зачастую бывает

Eugene
12.11.2016
07:13:13
интересно, есть ли у них расширения которые спокойно встанут на обычный postgresql

Alexander
12.11.2016
07:13:48
ну, гарантированная зачистка - это что-то такое, что нельзя реализовать одними лишь средствами софта, там же от устройства хранения данных многое зависит

Eugene
12.11.2016
07:13:52
хотя я в последнее время уже все чаще стал пользовать не postgresql а cassandra
вот этот чувак пилит citusdata http://www.craigkerstiens.com/about/ тот же кто рулил Heroku Postgres и у него интересные статьи есть по постгресу

Alexander
12.11.2016
07:15:26
в идеале, нужно чтобы кто-нибудь из команды разработчиков Postgres отревьювил их Postgres Pro и сказал, фигня или нет) ну или если действительно что-то стоящее - да, было бы неплохо забирать их наработки в основной Postgres
лучше 1 продукт, чем 100 форков, каждый из которых чем-то лучше, но чем-то уступает другим форкам
вот с MySQL такая ситуация была

Eugene
12.11.2016
07:30:56
так вроде как создатели постгрес про - postgresql core developers с многолетним стажем

Eugene
12.11.2016
07:31:36
просто они решили свой куш словить на импортозамещении
ну и вполне норм, че. есть там интересные фишки

Sergey
12.11.2016
07:58:42
Лицензию постгреспро прочитайте внимательно и все встанет на свои места.

Andy
12.11.2016
19:26:17
Добрый день! У меня вопрос про репликацию
А индексы тоже переносятся при потоковой репликации ведь?

Vadim
12.11.2016
19:27:35

Andy
12.11.2016
19:28:08
Ну я в принципе так и думал, но уточнить не помешает)
Спасибо

Vadim
12.11.2016
19:28:28
Не за что

Google

AbiGeuS
13.11.2016
11:46:18
Добрый день. В продолжение вопроса по поводу pg_stat_bgwriter. Запустил pgstat и пару тяжелый операций. Бэкенды начинают сбрасывать в моменты работы checkpointer'a. Т.е. чекпоинтер уже запущен, что-то пишет, но видимо не справляется и начинают писать бэкенды. Bgwriter не пишет ничего. Из-за чего вообще такое может происходить?

Alex
13.11.2016
11:48:14
выкручивать бгврайтер на максимум

AbiGeuS
13.11.2016
11:48:25
выкручен

Alex
13.11.2016
11:48:25
чтобы сбрасывал она не чекпоинтер
возможно можно уменьшить шаред бафферс
или увеличить =)

AbiGeuS
13.11.2016
11:49:26
bgwriter_delay = 10; bgwriter_lru_maxpages = 800; но такое ощущение что они вообще не отрабатывает.
3000 скинутых буферов
по сравнению с сотнями тысяч скинутых бэкендами и чекпоинтером

Admin
ERROR: S client not available

Alex
13.11.2016
11:50:32
попробуй настройки буферов покрутить
на эту тему хотелось бы адекватной документации от разработчиков на самом деле
потому что поведение системы иногда настраивается по фазе луны и еще каким то эзотерическим вещам

AbiGeuS
13.11.2016
11:55:05
Нет, ну это вообще как-то не нормально чтоли. Может у кого-то есть уже решения похожих проблем? И вообще почему в принципе бэкенды начинают писать в момент работы чекпоинтера? Почему по грязным страницам bgwriter сразу не ходит?

Alex
13.11.2016
11:55:24
Ну и зависит всё это от нагрузки... для записи большие shared_buffers не нужны, для чтения чуть больше и для активного read/write можно выставлять максимум
я вот пишу как мы решали. оказалось что от объема шареных буферов зависит работа бгврайтера в частности
Но опять же повторюсь, я бы очень хотел послушать на эту тему какой нить доклад или увидеть какую либо документацию. Так как не одна книга по производительности эти моменты не раскрывает, на конференциях тоже не особо это рассказывают. И пока с этим не сталкиваешься, вроде всё хорошо.

Dmitry
13.11.2016
12:18:49

Alex
13.11.2016
12:19:39
я как-то похоже действую

AbiGeuS
13.11.2016
13:13:15

Google

Alex
13.11.2016
13:13:58
Зависит от типа нагрузки сильно

AbiGeuS
13.11.2016
13:14:51
смешанный. База используется для 1с. Там и читаю много и пишут достаточно.
Вообще не понимаю все же как работает bgwriter тогда. Смотрю - грязные копятся, копятся. Кол-во их не уменьшается абсолютно. Потом приходит время чекпоинтера, начинает писать. Причем пишет по немногу, одновременно с ним вижу скачек - бэкенд записал 500 буферов за раз.
И далее идет - пишет чекпоинтер, пишет бэкенд. Одновременно. bgwriter по нулям.
При этом я накинул shared_buffers на гиг еще.
Кто-нибудь может пояснить все-таки почему получается что бэкенды скидывают буфера во время работы чекпоинтера, а bgwriter нет? Я понимаю так что bgwriter должен работать на опережения бэкенда. Видит что буфер грязный, что использований нет - скидываем. Почему бэкенды скидывают буфера, а bgwriter нет? Какая логика postgres'a в этой ситуации?

Sergey
13.11.2016
13:42:45
Покажи select * from pg_stat_bgwriter

AbiGeuS
13.11.2016
13:43:12
buffers_checkpoint = 541170, buffers_clean = 2739, buffers_backend = 496404

Sergey
13.11.2016
13:43:57
maxwritten_clean?

AbiGeuS
13.11.2016
13:45:49
Не сохранилось к сожалению. Скинул статистику перед началом теста.

Алексей
13.11.2016
13:46:46
Графиком такие вещи надо иметь а не моментально

Andrey
13.11.2016
13:48:19
Может, будет интересно тем, кто использует iTerm: http://akorotkov.github.io/blog/2016/06/09/psql-graph/

Sergey
13.11.2016
13:48:38
Это покажет, выбирает bgwriter буфера полностью или нет, если нет (т.е. там большое значение) - то крутить настройки дальше. И да, график с соответствием нагрузки - полезно.

AbiGeuS
13.11.2016
13:48:51
Нашел результаты старого запроса. Там было так: buffers_checkpoint = 504732, buffers_clean = 2739, buffers_backend = 488154, maxwritten_clean = 0
Cейчас запустил тест опять. Смотрю как меняются цифры - checkpoint - 1295, buffers_clean - 0, backend - 438
т.е. такая же картинка в общем-то.
В реалтайме щас смоютрю результаты pgstat - как только начинает работать checkpoint бэкенды начиают скидывать. bgwriter по нулям все время.
Причем скидывает одновременно с чекпоинтером. Почему так происходит?
Показывает так же следующие скачки - checkpoint за секунду пишет 10-17 буферов, backend может разово 500. потом 1-12. Скидывать начинает ровно одновременно с чекпоинтером.

Sergey
13.11.2016
13:58:06
А задача чекпоинта - засинкать все. В этот момент нет смысла писать что-то в фоне. В такой ситуации скорее надо крутить настройки чекпоинтов.
https://www.pgcon.org/2010/schedule/events/218.en.html - что мерять и общие направления, куда крутить