Korzystam z PostgreSQL na Windows Server 2003 bez żadnych problemów i jest szybki, więc odpowiedź na moje pytanie wydaje się w porządku.
Jednak mam zamiar uruchomić nowy projekt i rozważam użycie zamiast niego Linuksa, ponieważ stabilność i wydajność są kluczowe. Ponieważ PostgreSQL wydaje się być rozwijany głównie na dystrybucjach Linuksa, może lepiej byłoby trzymać się Linuksa?
Odpowiedzi:
PostgreSQL z pewnością będzie działał szybciej w systemie Linux niż w systemie Windows (i mówię to jako jeden z facetów, którzy napisali jego port dla systemu Windows ..) Jest zaprojektowany dla architektury w stylu uniksowym i implementuje tę samą architekturę w systemie Windows, co oznacza, że robi wiele rzeczy, których system Windows nie jest przeznaczony do robienia dobrze. To działa dobrze, ale to nie działa jak dobrze.
Na przykład PostgreSQL używa modelu proces na połączenie, a nie wątków. System Windows został zaprojektowany do wykonywania wątków. Jeśli aplikacja łączy się i rozłącza, na przykład będzie działała znacznie wolniej w systemie Windows.
Istnieją również pewne założenia dotyczące systemu plików, które nie faworyzują NTFS.
Jedną rzeczą, o której naprawdę musisz pomyśleć - jeśli korzystasz z systemu Windows, większość produktów antywirusowych będzie działać nieprawidłowo, gdy będzie używana z PostgreSQL, ponieważ nie są przyzwyczajeni do tego rodzaju obciążenia (np. 1000 różnych procesów odczytu i zapisu do tego samego pliku przez różne uchwyty). Oznacza to, że zdecydowanie zaleca się, aby zawsze odinstalować program antywirusowy, jeśli to możliwe (samo wyłączenie lub wykluczenie procesów / plików PostgreSQL często nie wystarcza). I to nie tylko ze względu na wydajność, ale także stabilność pod obciążeniem.
źródło
Trudno na to odpowiedzieć: jak zauważył Ken, Postgres nie robi żadnych różnic między systemem operacyjnym i jest tak stabilny / niestabilny w systemie Windows, jak w systemie Linux.
Jedyną prawdziwą odpowiedzią na to pytanie jest: spróbuj.
Skonfiguruj serwer Linux i serwer Windows z tymi samymi specyfikacjami, użyj tej samej ilości danych na obu komputerach i uruchom testy.
PS: To ma bliskie głosy, ponieważ można lepiej zapytać o awarię serwera
źródło
Rozumiem, że dla tego samego sprzętu uzyskasz lepszą wydajność w systemie Linux niż w systemie Windows. Ponadto, chociaż Postgres działa w systemie Windows, działa na * nix od znacznie, dużo dłużej. YMMV oczywiście w zależności od twojej sytuacji.
Naprawdę dobrym odniesieniem do wydajności Postgres jest „PostgreSQL 9.0 High Performance” ( https://www.packtpub.com/postgresql-9-0-high-performance/book ). Tytuł jest trochę mylący, ponieważ obejmuje więcej niż tylko wersję 9.0.
źródło
AFAIK Postgres nie dyskryminuje, nie osłabia funkcji systemu Windows ani nic takiego. Więc w Postgres nic nie wymaga Linuksa.
Lepiej zapytaj ogólnie o Linuksa. vs. Windows jako ogólna platforma serwerowa.
OPINIA: Ale za moje pieniądze na serwerze zawsze działa Linux. Nigdy nie marzyłbym o umieszczeniu oprogramowania serwerowego o kluczowym znaczeniu dla systemu Windows. Tylko moje 2 centy. Koniec opinii.
źródło
stability and **performance** are crucial