我有一台Windows server 2003机器,我将使用它作为Postgres数据库服务器,这台机器是一台带有4 GB ECC内存和4×120 GB 10K RPM SAS驱动器的双Core 3.0Ghz Xeon。
我读过默认Postgres安装配置为在一个拥有32 my的486上很好地运行,我还读过几个关于配置优化的网页--但我希望从Stackoverflow中得到更具体的信息。
通常,它只为一个数据库服务(可能会再提供一个或两个数据库),但问题是数据库中有一个表,特别是一个表,这个表非常庞大(数亿条记录只有几个颜色)。目前,对于默认配置,并不是慢,但我认为它可能会更快。
请大家给我一些关于配置设置的指导和建议,你可以用在这样的服务器上。
发布于 2009-07-01 09:20:34
shared_buffers参数在postgresql.conf中设置为内存的1/4。effective_cache_size设置为内存的1/2左右。checkpoint_segments设置为大约32 (每512 32设置检查点),将checkpoint_completion_target设置为大约0.8。default_statistics_target设置为100左右。您可以在此页阅读更多内容:调优您的PostgreSQL服务器- PostgreSQL Wiki
发布于 2009-06-30 02:45:34
我的经验表明(在有限范围内)硬件通常是数据库性能中最不重要的因素。
假设您有足够的内存将常用的数据保存在高速缓存中,那么您的CPU速度在行机器的顶部和普通的或花园框之间可能会有10-50%的变化。
但是,重要搜索中缺少的索引,或者写得不好的递归触发器,在响应时间上很容易造成1,000%或10,000%或更多的差异。
在不知道您的表结构和行数的情况下,我想任何人都会建议您的硬件看起来足够了。只有你的数据库结构才会杀死你。:)
更新:
如果不知道具体的查询和索引细节,我们就无能为力了。一般来说,即使知道查询,如果没有实际安装和运行实际数据集的查询,通常也很难进行优化。
考虑到服务器的成本和时间的花费,我认为你需要在一本书上投资30美元。然后用测试数据安装数据库,运行查询,查看哪些运行良好,哪些运行不好。修复,冲洗,重复。
这两本书都是针对Server的,它们都有很高的收视率:
https://stackoverflow.com/questions/1061427
复制相似问题