J'ai exécuté PostgreSQL sur Windows Server 2003 sans accroc et rapide, donc pour répondre à ma propre question, cela semble correct.
Cependant, je suis sur le point de lancer un nouveau projet et j'envisage d'utiliser une boîte Linux à la place car la stabilité et les performances sont cruciales. Étant donné que PostgreSQL semble être principalement développé sur des distributions Linux, il serait peut-être préférable de s'en tenir à Linux?
Réponses:
PostgreSQL fonctionnera certainement plus rapidement sur Linux que sur Windows (et je dis cela comme l'un des gars qui en a écrit le portage Windows ..) Il est conçu pour une architecture de style Unix, et implémente cette même architecture sur Windows, ce qui signifie qu'il fait un certain nombre de choses que Windows n'est pas conçu pour bien faire. Cela fonctionne bien, mais il ne fonctionne pas aussi bien.
Par exemple, PostgreSQL utilise un modèle de processus par connexion, pas de threading. Windows est conçu pour faire du filetage. Si votre application se connecte et se déconnecte beaucoup, elle s'exécutera certainement beaucoup plus lentement sous Windows, par exemple.
Il existe également des hypothèses sur le système de fichiers qui ne favorisent pas exactement NTFS.
La seule chose que vous avez vraiment besoin de penser à - si vous êtes sous Windows, la plupart des produits antivirus sera bogue lorsque utilisé avec PostgreSQL, car ils ne sont pas habitués à ce type de charge de travail ( par exemple 1000 différents processus de lecture et d' écriture au même fichier à travers différentes poignées). Cela signifie que la recommandation forte est de toujours désinstaller tout antivirus si possible (le désactiver simplement ou exclure les processus / fichiers PostgreSQL n'est souvent pas suffisant). Et ce n'est pas seulement pour des raisons de performances, mais aussi de stabilité sous charge.
la source
C'est difficile à répondre: comme l'a noté Ken, Postgres ne fait aucune différence entre le système d'exploitation et il est aussi stable / instable sous Windows que sous Linux.
La seule vraie réponse à cette question est: essayez-la.
Configurez un serveur Linux et un serveur Windows avec les mêmes spécifications, utilisez la même quantité de données sur les deux machines et exécutez vos tests.
PS: Cela a des votes serrés car il vaut peut-être mieux le demander à serverfault
la source
Je crois comprendre que, pour le même matériel, vous obtiendrez de meilleures performances sur Linux par opposition à Windows. De plus, bien que Postgres fonctionne sur Windows, il fonctionne sur * nix depuis beaucoup, beaucoup plus longtemps. YMMV bien sûr en fonction de votre situation.
Une très bonne référence sur les performances de Postgres est "PostgreSQL 9.0 High Performance" ( https://www.packtpub.com/postgresql-9-0-high-performance/book ). Le titre est un peu inapproprié car il couvre plus que la version 9.0.
la source
AFAIK Postgres ne fait pas de discrimination, ils ne paralysent pas les fonctionnalités de Windows, ou quelque chose comme ça. Il n'y a donc rien sur Postgres qui nécessite Linux.
Vous feriez mieux de poser des questions générales sur Linux. contre Windows en tant que plate-forme de serveur générale.
AVIS: Mais pour mon argent, un serveur tourne toujours sous Linux. Je ne rêverais jamais de mettre un logiciel serveur critique sur Windows. Juste mes 2 cents. Fin de l'avis.
la source
stability and **performance** are crucial