Re: [PERFORM] Disk configuration

2005-01-20 Thread Alex Turner
I have never seen benchmarks for RAID 0+1.  Very few people use it
because it's not very fault tolerant, so I couldn't answer for sure. 
I would imagine that RAID 0+1 could acheive better read throughput
because you could, in theory, read from each half of the mirror
independantly.  Write would be the same I would imagine because you
still have to write all data to all drives.  Thats my best guess.

Alex Turner
NetEconomist


On Thu, 20 Jan 2005 11:55:37 +1100, Benjamin Wragg [EMAIL PROTECTED] wrote:
 
 Thanks. That sorts out all my questions regarding disk configuration. One
 more regarding RAID. Is RAID 1+0 and 0+1 essentially the same at a
 performance level?
 
 Thanks,
 
 Benjamin
 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of Alex Turner
 Sent: Thursday, 20 January 2005 2:53 AM
 To: Benjamin Wragg
 Cc: pgsql-performance@postgresql.org
 Subject: Re: [PERFORM] Disk configuration
 
 The primary goal is to reduce the number of seeks a disk or array has to
 perform.  Serial write throughput is much higher than random write
 throughput.  If you are performing very high volume throughput on a server
 that is doing multiple things, then it maybe advisable to have one partition
 for OS, one for postgresql binaries, one for xlog and one for table data (or
 multiple if you are PG8.0).  This is the ultimate configuration, but most
 people don't require this level of seperation.  If you do need this level of
 seperation, also bare in mind that table data writes are more likely to be
 random writes so you want an array that can sustain a high levels of IO/sec,
 so RAID 10 with 6 or more drives is ideal.  If you want fault tolerance,
 then RAID 1 for OS and postgresql binaries is a minimum, and I believe that
 xlog can also go on a RAID 1 unless you need more MB/sec.  Ultimately you
 will need to benchmark any configuration you build in order to determine if
 it's successfull and meets your needs.  This of course sucks, because you
 don't want to buy too much because it's a waste of $$s.
 
 What I can tell you is my own experience which is a database running with
 xlog, software and OS on a RAID 1, with Data partition running on
 3 disk RAID 5 with a database of about 3 million rows total gets an insert
 speed of about 200 rows/sec on an average size table using a compaq proliant
 ML370 Dual Pentium 933 w/2G RAM.  Most of the DB is in RAM, so read times
 are very good with most queries returning sub second.
 
 Hope this helps at least a little
 
 Alex Turner
 NetEconomist
 
 On Wed, 19 Jan 2005 09:03:44 +1100, Benjamin Wragg [EMAIL PROTECTED]
 wrote:
 
  I just wanted to bounce off the list the best way to configure disks
  for a postgresql server. My gut feeling is as follows:
 
  Keep the OS and postgresql install on seperate disks to the postgresql
  /data directory?
  Is a single hard disk drive acceptable for the OS and postgresql
  program, or will this create a bottle neck? Would a multi disk array
  be more appropriate?
 
  Cheers,
 
  Benjamin Wragg
 
 
  --
   No virus found in this outgoing message.
   Checked by AVG Anti-Virus.
   Version: 7.0.300 / Virus Database: 265.7.0 - Release Date: 17/01/2005
 
 
 ---(end of broadcast)---
 TIP 4: Don't 'kill -9' the postmaster
 
 --
 No virus found in this incoming message.
 Checked by AVG Anti-Virus.
 Version: 7.0.300 / Virus Database: 265.7.0 - Release Date: 17/01/2005
 
 
 --
 No virus found in this outgoing message.
 Checked by AVG Anti-Virus.
 Version: 7.0.300 / Virus Database: 265.7.1 - Release Date: 19/01/2005
 


---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PERFORM] Disk configuration

2005-01-19 Thread Alex Turner
The primary goal is to reduce the number of seeks a disk or array has
to perform.  Serial write throughput is much higher than random write
throughput.  If you are performing very high volume throughput on a
server that is doing multiple things, then it maybe advisable to have
one partition for OS, one for postgresql binaries, one for xlog and
one for table data (or multiple if you are PG8.0).  This is the
ultimate configuration, but most people don't require this level of
seperation.  If you do need this level of seperation, also bare in
mind that table data writes are more likely to be random writes so you
want an array that can sustain a high levels of IO/sec, so RAID 10
with 6 or more drives is ideal.  If you want fault tolerance, then
RAID 1 for OS and postgresql binaries is a minimum, and I believe that
xlog can also go on a RAID 1 unless you need more MB/sec.  Ultimately
you will need to benchmark any configuration you build in order to
determine if it's successfull and meets your needs.  This of course
sucks, because you don't want to buy too much because it's a waste of
$$s.

What I can tell you is my own experience which is a database running
with xlog, software and OS on a RAID 1, with Data partition running on
3 disk RAID 5 with a database of about 3 million rows total gets an
insert speed of about 200 rows/sec on an average size table using a
compaq proliant ML370 Dual Pentium 933 w/2G RAM.  Most of the DB is in
RAM, so read times are very good with most queries returning sub
second.

Hope this helps at least a little

Alex Turner
NetEconomist


On Wed, 19 Jan 2005 09:03:44 +1100, Benjamin Wragg [EMAIL PROTECTED] wrote:
  
 I just wanted to bounce off the list the best way to configure disks for a
 postgresql server. My gut feeling is as follows: 
   
 Keep the OS and postgresql install on seperate disks to the postgresql /data
 directory? 
 Is a single hard disk drive acceptable for the OS and postgresql program, or
 will this create a bottle neck? Would a multi disk array be more
 appropriate? 
   
 Cheers, 
   
 Benjamin Wragg 
  
 
 --
  No virus found in this outgoing message.
  Checked by AVG Anti-Virus.
  Version: 7.0.300 / Virus Database: 265.7.0 - Release Date: 17/01/2005


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [PERFORM] Disk configuration

2005-01-19 Thread Benjamin Wragg
 
Thanks. That sorts out all my questions regarding disk configuration. One
more regarding RAID. Is RAID 1+0 and 0+1 essentially the same at a
performance level?

Thanks,

Benjamin
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alex Turner
Sent: Thursday, 20 January 2005 2:53 AM
To: Benjamin Wragg
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Disk configuration

The primary goal is to reduce the number of seeks a disk or array has to
perform.  Serial write throughput is much higher than random write
throughput.  If you are performing very high volume throughput on a server
that is doing multiple things, then it maybe advisable to have one partition
for OS, one for postgresql binaries, one for xlog and one for table data (or
multiple if you are PG8.0).  This is the ultimate configuration, but most
people don't require this level of seperation.  If you do need this level of
seperation, also bare in mind that table data writes are more likely to be
random writes so you want an array that can sustain a high levels of IO/sec,
so RAID 10 with 6 or more drives is ideal.  If you want fault tolerance,
then RAID 1 for OS and postgresql binaries is a minimum, and I believe that
xlog can also go on a RAID 1 unless you need more MB/sec.  Ultimately you
will need to benchmark any configuration you build in order to determine if
it's successfull and meets your needs.  This of course sucks, because you
don't want to buy too much because it's a waste of $$s.

What I can tell you is my own experience which is a database running with
xlog, software and OS on a RAID 1, with Data partition running on
3 disk RAID 5 with a database of about 3 million rows total gets an insert
speed of about 200 rows/sec on an average size table using a compaq proliant
ML370 Dual Pentium 933 w/2G RAM.  Most of the DB is in RAM, so read times
are very good with most queries returning sub second.

Hope this helps at least a little

Alex Turner
NetEconomist


On Wed, 19 Jan 2005 09:03:44 +1100, Benjamin Wragg [EMAIL PROTECTED]
wrote:
  
 I just wanted to bounce off the list the best way to configure disks 
 for a postgresql server. My gut feeling is as follows:
   
 Keep the OS and postgresql install on seperate disks to the postgresql 
 /data directory?
 Is a single hard disk drive acceptable for the OS and postgresql 
 program, or will this create a bottle neck? Would a multi disk array 
 be more appropriate?
   
 Cheers,
   
 Benjamin Wragg
  
 
 --
  No virus found in this outgoing message.
  Checked by AVG Anti-Virus.
  Version: 7.0.300 / Virus Database: 265.7.0 - Release Date: 17/01/2005


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster

--
No virus found in this incoming message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.7.0 - Release Date: 17/01/2005
 

-- 
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.7.1 - Release Date: 19/01/2005
 


---(end of broadcast)---
TIP 7: don't forget to increase your free space map settings


Re: [PERFORM] Disk configuration

2005-01-18 Thread Josh Berkus
Benjamin,

 I just wanted to bounce off the list the best way to configure disks for a
 postgresql server. My gut feeling is as follows:

 Keep the OS and postgresql install on seperate disks to the postgresql
 /data directory?
 Is a single hard disk drive acceptable for the OS and postgresql program,
 or will this create a bottle neck? Would a multi disk array be more
 appropriate?

All of this depends heavily on your database size, read/write balance, and 
transaction volume.   For example, the PostgreSQL Press list runs fine on my 
single-drive IDE laptop (1 user,  2mb database) but I wouldn't run the DBT2 
(high-volume OLTP test) on it.

More info?

-- 
--Josh

Josh Berkus
Aglio Database Solutions
San Francisco

---(end of broadcast)---
TIP 8: explain analyze is your friend