我一直在Windows Server 2003上顺利运行PostgreSQL,而且运行起来很快,因此回答我自己的问题似乎还不错。
但是,我将要启动一个新项目,并考虑使用Linux机器,因为稳定性和性能至关重要。由于PostgreSQL似乎主要是在Linux发行版上开发的,也许坚持使用Linux会更好?
我一直在Windows Server 2003上顺利运行PostgreSQL,而且运行起来很快,因此回答我自己的问题似乎还不错。
但是,我将要启动一个新项目,并考虑使用Linux机器,因为稳定性和性能至关重要。由于PostgreSQL似乎主要是在Linux发行版上开发的,也许坚持使用Linux会更好?
Answers:
PostgreSQL在Linux上运行肯定比在Windows上运行快(我以编写Windows端口的人之一来表示。)它是为Unix风格的体系结构设计的,并且在Windows上实现了相同的体系结构,这意味着它做了很多Windows不能很好完成的事情。它工作正常,但效果不佳。
例如,PostgreSQL使用每个连接的进程模型,而不是线程模型。Windows设计用于执行线程。例如,如果您的应用程序进行了大量的连接和断开操作,则它在Windows上的运行肯定会明显慢一些。
关于文件系统,还有一些假设并不完全支持NTFS。
有一件事你真的需要考虑一下-如果你是在Windows上,大多数防病毒产品将错误PostgreSQL的使用时,因为他们不习惯这种类型的工作负载进行(如1000个不同的进程读取和写入同一文件通过不同的句柄)。这意味着强烈建议始终尽可能卸载所有防病毒软件(仅禁用它或排除PostgreSQL进程/文件通常是不够的)。这不仅是出于性能原因,而且还在于负载下的稳定性。
这很难回答:正如Ken所指出的,Postgres在操作系统之间没有任何区别,它在Windows中像在Linux上一样稳定/不稳定。
这个问题的唯一真实答案是:尝试一下。
设置具有相同规格的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或类似功能。因此,Postgres并不需要Linux。
一般而言,最好询问Linux。与Windows作为通用服务器平台相比。
意见:但以我的钱,一台服务器始终运行Linux。永远梦想将关键任务服务器软件放在Windows上。只是我的2美分。意见终结。
stability and **performance** are crucial