我有两个相同的服务器(就硬件而言),它们都是Windows Server 2008 R2的标准安装,并且安装的软件最少(基本上是我的代码和必需的东西,例如jvm等)。
在一台服务器上,我在第二台服务器postgresql 9.1上运行sql server 2005。这两个服务器在性能方面的差异是惊人的,在postgresql上是如此糟糕,以至于我对老板最初的“让我们使用postgresql而不是为sql server许可付费”感到遗憾。对于同一条命令,我们说的是30秒与15分钟之间的差异,这不仅是一个命令,而且是我向其抛出的任何查询或命令。它们都具有几乎相同的数据(以不同的顺序插入记录),并且两个数据库都具有完全相同的结构/索引等。
但我希望这只是性能调整的问题。问题是,sql server几乎在服务器上使用了所有32 gig的ram,而postgresl却什么也不用,绝对少于gig,尽管我实际上还没有弄清楚。
我如何让postgresql使用20多个演出的Ram?这些服务器是专门为此数据库材料构建的,因此,我认为数据库和支持过程未使用的所有内存都是浪费的。
SET effective_cache_size=18G;
默认设置非常低)BTW:假设这是一台64位计算机(无PTE)