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

Подходит ли PostgreSQL для одной ОС? В Linux лучше, чем в Windows?

Я без проблем запускал PostgreSQL на Windows Server 2003 и работал быстро, поэтому, чтобы ответить на свой вопрос, это нормально.

Однако я собираюсь запустить новый проект и подумываю об использовании Linux, так как стабильность и производительность имеют решающее значение. Поскольку PostgreSQL, похоже, разрабатывается в основном для дистрибутивов Linux, может быть, было бы лучше придерживаться Linux?

PostgreSQL определенно будет работать быстрее в Linux, чем в Windows (и я говорю это как один из тех, кто написал его порт для Windows). Он разработан для архитектуры стиля Unix и реализует ту же архитектуру в Windows, что означает выполняет ряд вещей, для которых Windows не предназначена. Это работает хорошо, но он не работает.

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

Есть также некоторые предположения относительно файловой системы, которые не совсем в пользу NTFS.

Единственное, о чем вам действительно нужно подумать - если вы используете Windows, большинство антивирусных продуктов воля ошибка при использовании с PostgreSQL, потому что они не используются для этого типа рабочей нагрузки (например, 1000 различных процессов, читающих и записывающих в один и тот же файл через разные дескрипторы). Это означает, что настоятельно рекомендуется всегда удалять любой антивирус, если это возможно (просто отключить его или исключить процессы / файлы PostgreSQL часто недостаточно). И это не только из соображений производительности, но и стабильности под нагрузкой.

На это сложно ответить: как заметил Кен, Postgres не делает никаких различий между ОС, и в Windows она так же стабильна / нестабильна, как и в Linux.

Единственный реальный ответ на этот вопрос: попробуйте.

Настройте сервер Linux и сервер Windows с одинаковыми характеристиками, используйте одинаковый объем данных на обеих машинах и запустите тесты.

PS: У этого есть близкие голоса, потому что его лучше спросить на serverfault

Насколько я понимаю, на том же оборудовании вы получите лучшую производительность в Linux, чем в Windows. Кроме того, хотя Postgres действительно работает в Windows, он работает в * nix намного дольше. YMMV, конечно, в зависимости от вашей ситуации.

Хорошим справочником по производительности Postgres является «PostgreSQL 9.0 High Performance» (https://www.packtpub.com/postgresql-9-0-high-performance/book). Название немного неправильное, поскольку оно охватывает не только версию 9.0.

AFAIK Postgres не различает, они не нарушают функции Windows или что-то в этом роде. Итак, в Postgres нет ничего, что требует Linux.

Возможно, вам лучше вообще спросить о Linux. по сравнению с Windows как общей серверной платформой.

МНЕНИЕ: Но за мои деньги на сервере всегда работает Linux. Никогда бы не подумал поставить критически важное серверное программное обеспечение на Windows. Только мои 2 цента. Конец мнения.