Skip site navigation (1) Skip section navigation (2)

Hardware suggestions for Linux/PGSQL server

From: Jeff Bohmer <bohmer(at)visionlink(dot)org>
To: pgsql-performance(at)postgresql(dot)org
Subject: Hardware suggestions for Linux/PGSQL server
Date: 2003-12-11 20:19:42
Message-ID: p04330114bbfe7c114534@[] (view raw, whole thread or download thread mbox)
Lists: pgsql-performance
Hi everyone,

I want to pick your brains for hardware suggestions about a 
Linux-based PostgreSQL 7.4 server.  It will be a dedicated DB server 
backing our web sites and hit by application servers (which do 
connection pooling).  I've hopefully provided all relevant 
information below.  Any thoughts, comments or suggestions are welcome.

Our current server and database:
	Mac OS X Server 10.2.8
	single 1.25GHz G4
	2 GB 333MHz RAM
	7200 rpm SCSI drive for OS, logs
	15k rpm SCSI drive for data

	PostgreSQL 7.3.4
	1 database, 1.1 GB in size, growing by ~15 MB / week
	60 tables, 1 schema, largest is 1m rows, 1 at 600k, 3 at 100k
	Peak traffic:
		500 UPDATEs, INSERTs and DELETEs / minute
		6000 SELECTs / minutes
		90 connections

Performance is fine most of the time, but not during peak loads. 
We're never swapping and disk IO during the SELECT peaks is hardly 
anything (under 3MB/sec).  I think UPDATE peaks might be saturating 
disk IO.  Normally, most queries finish in under .05 seconds.  Some 
take 2-3 seconds.  During peaks, the fast queries are just OK and the 
slower ones take too long (like over 8 seconds).

We're moving to Linux from OS X for improved stability and more 
hardware options.  We need to do this soon.  The current server is 
max'd out at 2GB RAM and I'm afraid might start swapping in a month.

Projected database/traffic in 12 months:
	Database size will be at least 2.5 GB
	Largest table still 1m rows, but 100k tables will grow to 250k
	Will be replicated to a suitable standby slave machine
	Peak traffic:
		2k UPDATEs, INSERTs, DELETEs / minute
		20k SELECTs / minute
		150 - 200 connections

We're willing to shell out extra bucks to get something that will 
undoubtedly handle the projected peak load in 12 months with 
excellent performance.  But we're not familiar with PG's performance 
on Linux and don't like to waste money.

I've been thinking of this (overkill? not enough?):
	2 Intel 32-bit CPUs
	Lowest clock speed chip for the fastest available memory bus
	4 GB RAM (maybe we only need 3 GB to start with?)
	For PostgreSQL data and logs ...
		15k rpm SCSI disks
		RAID 5, 7 disks, 256MB battery-backed write cache
		(Should we save $ and get a 4-disk RAID 10 array?)

I wonder about the 32bit+bigmem vs. 64bit question.  At what database 
size will we need more than 4GB RAM?

We'd like to always have enough RAM to cache the entire database. 
While 64bit is in our long-term future, we're willing to stick with 
32bit Linux until 64bit Linux on Itanium/Opteron and 64bit PostgreSQL 
"settle in" to proven production-quality.

- Jeff


Jeff Bohmer
VisionLink, Inc.
People. Tools. Change. Community.


pgsql-performance by date

Next:From: Bruno Wolff IIIDate: 2003-12-11 20:27:55
Subject: Re: hints in Postgres?
Previous:From: nbarrazaDate: 2003-12-11 16:45:17
Subject: Command

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group