views:

317

answers:

2

I have a Windows Server 2003 machine which I will be using as a Postgres database server, the machine is a Dual Core 3.0Ghz Xeon with 4 GB ECC Memory and 4 x 120GB 10K RPM SAS Drives, all stripped.

I have read that the default Postgres install is configured to run nicely on a 486 with 32MB RAM, and I have read several web pages about configuration optimizations - but was hoping for something more concrete from my Stackoverflow peeps.

Generally, its only going to serve 1 database (potentially one or two more) but the catch is that the database has 1 table in particular which is massive (hundreds of millions of records with only a few coloumn). Presently, with the default configuration, it's not slow, but I think it could potentially be even faster.

Can people please give me some guidance and recomendations for configuration settings which you would use for a server such as this.

A: 

My experience suggests that (within limits) the hardware is typically the least important factor in database performance.

Assuming that you have enough memory to keep commonly used data in cache, then your CPU speed may vary 10-50% between a top-of the line machine and a common or garden box.

However, a missing index in an important search, or a poorly written recursive trigger could easily make a difference of 1,000% or 10,000% or more in your response times.

Without knowing exactly your table structure and row counts, I think anybody would suggest that your your hardware looks amply sufficient. It is only your database structure which will kill you. :)

UPDATE:

Without knowing the specific queries and your index details, there's not much more we can do. And in general, even knowing the queries, it's often very difficult to optimize without actually installing and running the queries with realistic data sets.

Given the cost of the server, and the cost of your time, I think you need to invest thirty bucks in a book. Then install your database with test data, run the queries, and see what runs well and what runs badly. Fix, rinse, and repeat.

Both of these books are specific to SQL Server and both have high ratings:

http://www.amazon.com/Inside-Microsoft%C2%AE-SQL-Server-2005/dp/0735621969/ref=sr_1_1

http://www.amazon.com/Server-Performance-Tuning-Distilled-Second/dp/B001GAQ53E/ref=sr_1_5

the.jxc
Yeah ther server is a beast, no doubt...again, this question is more about configuration improvements, not specifically about "hardware". My reasoning for asking at stackoverflow is becasue I am very aware that the settings used to tweak memory caching and query performance are directly tied to max connections and I dont want to change a setting which will make things worse either by limiting the number of database connections, or over-using memory.
Ash
+1  A: 
Tometzky
This is exactly the sort of thing I was looking for - thankyou.
Ash