Jim Razmus wrote:
> * Steve Shockley <[EMAIL PROTECTED]> [060322 21:35]:
> > I've currently got a server running syslog-ng (1.6.9) with
> > PostgreSQL (8.1.1) on a 3.9 snapshot from March 1.  The setup has
> > been working well for a while, but I've recently been told to have
> > it accept syslog for a couple of anti-spam appliance devices, and
> > they generate between 1-2 million syslog entries per day, and that
> > seems to kill PostgreSQL's performance.  Any query which needs to
> > iterate the whole database will take 10-15 minutes after a day or
> > so, and that's no good for a web front-end. 
> > 
> > I'm running it on a Compaq DL580, which is a quad Xeon 700, 2gb RAM,
> > Compaq 3200 controller (cac) with 32mb cache RAM, and four 36gb 10k
> > drives in RAID5. 
> > 
> > I can also move the system to a Compaq ML530, which is a dual Xeon
> > 1000, 2gb RAM, Compaq 5300 controller (ciss) with 128mb cache, and
> > four 36gb 10k drives plus 10 18gb 10k drives.  Sure, that's better,
> > but I'm not sure it's enough better. 
> > 
> > When I'm accepting syslog from the mail devices, a postgres process
> > holds steady using 5-10% CPU, but the load average hovers between 1
> > and 2. 
> > 
> > I don't normally turn knobs, but the few knobs I've turned have
> > been: 
> > 
> > kern.seminfo.semmni=256
> > kern.seminfo.semmns=2048
> > kern.shminfo.shmmax=201326592
> > 
> > set bufcachepct to 30 via config
> > 
> > fsync=off (ick, I'd like to turn this back on)
> > shared_buffers=16384
> > 
> > autovacuum is turned on.  I vacuum analyze the database nightly,
> > doing 
> > so doesn't seem to effect performance.
> > 
> > Is there anything else I can do to improve performance on this
> >  hardware? It seems that I'm not using very much memory (around
> > 512mb of 2gb), what's the best way to tell PostgreSQL to use more
> > memory, in a way that will actually make a difference?
> 
> A good data model for starters.  You may want to match the access
> paths used by common queries with a table and index structure that
> supports them.
> 
> Unless your running Teradata databases, your not going to iterate over
> record sets like that quickly unless you get into unreasonable
> hardware. You could check out solid state disks, etc.  But really a
> good data model goes a long way.
> 
> Hire or consult a good DBA.  Your unlikely to beat this problem with
> just hardware.

I strongly agree with Jim's comments.  Also, OpenBSD performance
notwithstanding, you'll get better performance out of RAID10 for your
DBs than RAID5.

Reply via email to