私はPostgreSQLをWindows Server 2003上で滞りなく高速で実行してきたので、自分の質問に答えるには問題ないようです。
しかし、私は新しいプロジェクトを立ち上げようとしており、安定性とパフォーマンスが重要であるため、代わりにLinuxボックスの使用を検討しています。PostgreSQLは主にLinuxディストリビューションで開発されているように見えるので、Linuxを使い続ける方が良いでしょうか?
私はPostgreSQLをWindows Server 2003上で滞りなく高速で実行してきたので、自分の質問に答えるには問題ないようです。
しかし、私は新しいプロジェクトを立ち上げようとしており、安定性とパフォーマンスが重要であるため、代わりにLinuxボックスの使用を検討しています。PostgreSQLは主にLinuxディストリビューションで開発されているように見えるので、Linuxを使い続ける方が良いでしょうか?
回答:
PostgreSQLは、WindowsよりもLinuxで確実に高速に動作します(そして、Windowsのポートを書いた人の1人と言います) Windowsがうまく機能しないように設計されていない多くのことを行います。正常に動作しますが、同様に機能しません。
たとえば、PostgreSQLはスレッド化ではなく、接続ごとのプロセスモデルを使用します。Windowsは、スレッドを実行するように設計されています。アプリケーションが多くの接続と切断を行う場合、たとえばWindowsでは間違いなく大幅に遅くなります。
また、NTFSを厳密に支持していないファイルシステムの周囲にもいくつかの仮定があります。
あなたが本当に考える必要がある1つのこと-あなたがWindows上にいる場合、PostgreSQLで使用するとほとんどのウイルス対策製品はこのタイプのワークロードに使用されないためバグが発生します(1000の異なるプロセスが同じファイルを読み書きするなど)異なるハンドルを介して)。つまり、可能な場合は常にウイルス対策ソフトウェアをアンインストールすることを強くお勧めします(多くの場合、それを無効にするか、PostgreSQLプロセス/ファイルを除外するだけでは十分ではありません)。そして、これはパフォーマンス上の理由だけでなく、負荷下での安定性のためでもあります。
これを答えるのは難しいです。Kenが指摘したように、PostgresはOSに違いをもたらさず、Linuxと同様にWindowsでも安定/不安定です。
この質問に対する唯一の本当の答えは、試してみることです。
LinuxサーバーとWindowsサーバーを同じ仕様でセットアップし、両方のマシンで同じ量のデータを使用して、テストを実行します。
PS:これはserverfaultでより良く尋ねられるかもしれないので、これは近い票を持っています
同じハードウェアで、WindowsではなくLinuxの方がパフォーマンスが向上することを理解しています。また、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の機能を損なうことも、そのようなこともしません。そのため、Linuxを必要とするPostgresについては何もありません。
Linuxについて一般的に尋ねる方が良いかもしれません。vs.一般的なサーバープラットフォームとしてのWindows。
意見:しかし、私のお金のために、サーバーは常にLinuxを実行しています。ミッションクリティカルなサーバーソフトウェアをWindowsに搭載することを夢見ないでしょう。ちょうど2セントです。意見の終わり。
stability and **performance** are crucial