Ich habe PostgreSQL unter Windows Server 2003 problemlos und schnell ausgeführt, daher scheint es in Ordnung zu sein, meine eigene Frage zu beantworten.
Ich bin jedoch im Begriff, ein neues Projekt zu starten und erwäge, stattdessen eine Linux-Box zu verwenden, da Stabilität und Leistung von entscheidender Bedeutung sind. Da PostgreSQL anscheinend hauptsächlich für Linux-Distributionen entwickelt wurde, ist es vielleicht besser, sich an Linux zu halten.
Antworten:
PostgreSQL wird unter Linux definitiv schneller laufen als unter Windows (und ich sage dies als einer der Typen, die den Windows-Port dafür geschrieben haben). Es ist für eine Architektur im Unix-Stil konzipiert und implementiert dieselbe Architektur unter Windows, was bedeutet, dasselbe führt eine Reihe von Aufgaben aus, für die Windows nicht geeignet ist. Es funktioniert gut, aber es funktioniert nicht so gut.
PostgreSQL verwendet beispielsweise ein Prozess-pro-Verbindung-Modell, kein Threading. Windows wurde für das Threading entwickelt. Wenn Ihre Anwendung viele Verbindungen herstellt und trennt, wird sie beispielsweise unter Windows auf jeden Fall erheblich langsamer ausgeführt.
Es gibt auch einige Annahmen rund um das Dateisystem, die NTFS nicht gerade begünstigen.
Das einzige , was Sie wirklich darüber nachdenken müssen - wenn Sie unter Windows, die meisten Antivirus - Produkte werden Fehler aus , wenn sie mit PostgreSQL verwendet, da sie nicht auf diese Art der Arbeitsbelastung (wie 1000 verschiedene Verfahren verwendet werden , das Lesen und Schreiben auf die gleiche Datei durch verschiedene Griffe). Das bedeutet, dass die starke Empfehlung lautet, Antivirenprogramme nach Möglichkeit immer zu deinstallieren (das Deaktivieren oder Ausschließen der PostgreSQL-Prozesse / -Dateien reicht oft nicht aus). Und das nicht nur aus Performancegründen, sondern auch aus Stabilitätsgründen unter Last.
quelle
Dies ist schwer zu beantworten: Wie Ken bemerkte, macht Postgres keinen Unterschied zwischen dem Betriebssystem und es ist unter Windows so stabil / instabil wie unter Linux.
Die einzig richtige Antwort auf diese Frage lautet: Probieren Sie es aus.
Richten Sie einen Linux-Server und einen Windows-Server mit denselben Spezifikationen ein, verwenden Sie dieselbe Datenmenge auf beiden Computern und führen Sie Ihre Tests aus.
PS: Dies hat enge Abstimmungen, weil es möglicherweise besser bei Serverfehler gefragt wird
quelle
Meines Erachtens erhalten Sie unter Linux bei gleicher Hardware eine bessere Leistung als unter Windows. Auch wenn Postgres unter Windows läuft, läuft es viel, viel länger unter * nix. YMMV natürlich abhängig von Ihrer Situation.
Eine wirklich gute Referenz zur Leistung von Postgres ist "PostgreSQL 9.0 High Performance" ( https://www.packtpub.com/postgresql-9-0-high-performance/book ). Der Titel ist ein bisschen irreführend, da er mehr als nur Version 9.0 abdeckt.
quelle
AFAIK Postgres unterscheidet nicht, sie lähmen keine Funktionen unter Windows oder ähnliches. Es gibt also nichts an Postgres, was Linux erfordert.
Möglicherweise ist es besser, allgemein nach Linux zu fragen. Windows als allgemeine Serverplattform.
MEINUNG: Aber für mein Geld läuft auf einem Server immer Linux. Ich würde nie davon träumen, geschäftskritische Serversoftware unter Windows zu installieren. Nur meine 2 Cent. Ende der Stellungnahme.
quelle
stability and **performance** are crucial