Назад | Перейти на главную страницу

Работает ли PostgreSQL как в Windows, так и в Linux

Эта тема была поднята в 2011 году, и все пришли к общему мнению, что существуют конструктивные соображения, которые дадут PostgreSQL преимущество в Linux. Сейчас 2015 год, что-то изменилось? Если есть вещи, которые замедляют работу PostgreSQL в Windows, может ли кто-нибудь резюмировать эти моменты?

Если учесть моменты, которые я изложил в этом ответе, я бы сказал, что PostgreSQL по-прежнему достаточно хорошо работает с Windows. Но по сравнению с 2011 годом особой разницы не вижу.

По моему опыту это в основном о заботе о том, чтобы ни один процесс Windows не мешал так что эта цитата из книги PostgreSQL 9.0 с высокой производительностью (2010 г.) по-прежнему в основном имеет место

Непредсказуемая производительность и Windows

Серьезные администраторы баз данных имеют сильную историческую склонность к использованию UNIX-подобных систем для своих серверов. В первых примерах здесь используется Windows, потому что построенные графики легче читать и, следовательно, лучше для ознакомления с концепциями этого раздела. Но это напомнило мне, почему Windows не является предпочтительной операционной системой для размещения баз данных для стольких людей.

Для получения полезных результатов тестов система должна быть неподвижной: в ней не должно быть других запущенных программ, которые могут испортить результаты того, что предполагается измерить. При загрузке в Windows Vista для получения этих результатов я обнаружил, что процесс TrustedInstaller использует значительный объем ресурсов ЦП и диска. Оказалось, что Центр обновления Windows решил, что пора установить следующий крупный пакет обновления для Vista; он загружал части в фоновом режиме и подталкивал меня к обновлению при каждой возможности. Прошло два часа, прежде чем я завершил все фоновые операции, которые заставляли меня заботиться, и получил простаивающую систему, способную выполнять эти тесты.

Вы можете подумать, что выбор версии Windows 2012 Server Core может немного исправить это. Статья MSDN Почему полезно ядро ​​сервера? (о Windows 2008) говорит, однако:

Прежде чем мы рассмотрим преимущества Server Core, давайте развенчаем заблуждение: повышение производительности не является одним из преимуществ использования Server Core вместо полной установки Windows Server 2008.

В остальном обработка памяти в Windows также отличается и иногда противоречит здравому смыслу. Это тоже то же самое, что и в 2011 году. shared_buffers например (из Документация PostgreSQL - 18.4. Потребление ресурсов):

в Windows большие значения shared_buffers не так эффективны. Вы можете добиться лучших результатов, если установите относительно низкий уровень и вместо этого больше используйте кэш операционной системы. Полезный диапазон для shared_buffers в системах Windows обычно составляет от 64 МБ до 512 МБ.