Windows Server? Заказчик настаивает на такой схеме работы (Windows Server + PostgreSQL 11). Нужно либо ввязаться, либо аргументировать, что так работать нельзя.
Если база до 8 гб и не растет, винда не позволяет postgres использовать большой объем оперативной памяти.
поставить в wsl и формально требования будут соблюдены)
Думал об этом, но WSL также нужно агрументировать админам заказчика
А можно чуть поподробнее об этом? Например, на старте база 5 Гб. Какое будет ограничение по памяти? А если база 20 Гб?
Проблема в том что винда работает криво с буферами и не позволяет выделять больше 8 Гб оперативной памяти для postgres отсюда и размер базы. Хотя он может быть больше и без просадок по производительности общая идея пока база помещается в буферы всё будет 100% хорошо. Другое дело если у вас всё будет расти вам дадут 64 Гб ОЗУ вы увеличите буферы но они будут использовать только 8 Гб. Вот здесь скорее всего будет проблема. Возможно что то поменялось в последних версиях винды и postgres но врядли. Эта информация актуальна для 2016 сервера и 10-11 postgres/
Ничего себе 😮 То есть, если я беру сервер с 64 Гб, ставлю shared_buffers = 48 Гб, то винда даст использовать только 8?
фактически да. Хотя никаких ошибок и сообщений не будет.
Вот такая проблема
Кажется что это не так работает. Ну т.е shared buffers на винде большие не делают, да, но это не значит что постгресу не будет выделяться памяти, просто память будет выделяться в OS кэше. Мб я криво прочитал ваше обсуждение, но есть ощущение, что выводы у вас не совсем правильные
Ну, э-э-э. В ОС кэшэ это хорошо, конечно -- но копирование в shared_buffers это тожэ задержки. Иногда -- очень заметно просажывающие.
Я понимаю, но у меня было ощущение от диалога в чате, что речь идёт о том, что винда прям не даёт больше 8гб использовать. Возможно криво прочитал.
И, опять жэ, это не большая проблема если памяти всего 32. Но тут как обычно -- это небольшая проблема, разрулить порты когда оказалось что два пакета требуют двух постгресов небольшая проблема, логи удалять небольшая проблема, с сервисом который то встаёт то непонятно что тожэ небольшая проблема -- и все эти мелочи это какие-то полуаются адовые человеко-часы в поддержке. Ну, такоэ. Можно. Но не то чтобы очень хочется.
то что линукс получше - это понятно, но этот вопрос не в пределах моей власти. Хотелось понять, нет ли каких-то жестких блокеров на винде. Например если бы винда реально выделяла максимум 8гб памяти под постгрес, это был бы жесткий блокер )
Да мы так и говорим: жёстких -- нет. Просто всё как-то более неустроено. А так-то многие, в принцыпе, работают, что-то делают.
Обсуждают сегодня