Обсуждение: ProstGreSQL on RAID Question
Hi all, I have set up a RAID-5 (soft RAID) arrray on my Linux machine, consisting of 5 18 GB UltraSCSI-2 (80 MB/sec) drives. Everythinng is working but I would like to know, where I can tweak this for optimum performance. The HOWTO, I found, said to set this up using a 32 KB chunk size for the 4 KB ext2 filesystems. I know that PostGreSQL is using 8 KB blocks, should it therefore not be better to set up the array, using 8 KB chunks? Or should I increase the chunk size? The array is only for use by the $PGDATA directory, nothing else will go there, so this can be optimized for PG without any consideration for anything else. Any input welcome. Best regards, Chris
On Mon, 12 Aug 2002, Chris Ruprecht wrote: > I have set up a RAID-5 (soft RAID) arrray on my Linux machine, > consisting of 5 18 GB UltraSCSI-2 (80 MB/sec) drives. Everythinng is > working but I would like to know, where I can tweak this for optimum > performance. If you do a lot of inserts, move the log file ($PGDATA/pg_xlog) off the RAID-5 and on to a separate RAID-1 (mirrored) pair. This will separate the buffered random writes to the data files and the unbuffered, sequential writes to the log. cjs -- Curt Sampson <cjs@cynic.net> +81 90 7737 2974 http://www.netbsd.org Don't you know, in this new Dark Age, we're all light. --XTC
Thanks Curt - yes, I have the log files on a different drive all together. I was thinking more along the lines of OS block size (4 KB) vs. Postgres block size (8 KB by default) vs. RAID block size (32 KB). Is there anything I should change? I would like to experiment but a 20 GB DB takes some time to backup and restore, so I'd like to tap into other's experiences. Best regards, Chris On Sun August 11 2002 23:30, you wrote: > On Mon, 12 Aug 2002, Chris Ruprecht wrote: > > I have set up a RAID-5 (soft RAID) arrray on my Linux machine, > > consisting of 5 18 GB UltraSCSI-2 (80 MB/sec) drives. Everythinng is > > working but I would like to know, where I can tweak this for optimum > > performance. > > If you do a lot of inserts, move the log file ($PGDATA/pg_xlog) > off the RAID-5 and on to a separate RAID-1 (mirrored) pair. This will > separate the buffered random writes to the data files and the unbuffered, > sequential writes to the log. > > cjs
On Fri, 16 Aug 2002, Chris Ruprecht wrote: > Thanks Curt - yes, I have the log files on a different drive all > together. I was thinking more along the lines of OS block size (4 KB) > vs. Postgres block size (8 KB by default) vs. RAID block size (32 KB). > Is there anything I should change? The RAID stripe size is not a big deal; generally you want to keep it smallish to maximize the number of outstanding requests you can service at the same time, but I find more often that it's the raid controller limiting me on this point. OS block size might as well be the same as postgresql block size; making it smaller just increases the chances that a block you need will only be "half" in the cache, and thus require a disk read anyway. cjs -- Curt Sampson <cjs@cynic.net> +81 90 7737 2974 http://www.netbsd.org Don't you know, in this new Dark Age, we're all light. --XTC
Chris, You should be fine. For each Postgres block you are reading 2 OS blocks. That's fine. The other way around would be bad. The optimal RAID block size depends on things like read ahead algorithms for large sequential reads. If it ain't broke, don't fix it. Regards, Nikolaus Dilger On Fri, 16 August 2002, Chris Ruprecht wrote: > > Thanks Curt - yes, I have the log files on a different > drive all together. > I was thinking more along the lines of OS block size (4 > KB) vs. Postgres block > size (8 KB by default) vs. RAID block size (32 KB). Is > there anything I > should change? > > I would like to experiment but a 20 GB DB takes some > time to backup and > restore, so I'd like to tap into other's experiences. > > Best regards, > Chris > > > > On Sun August 11 2002 23:30, you wrote: > > On Mon, 12 Aug 2002, Chris Ruprecht wrote: > > > I have set up a RAID-5 (soft RAID) arrray on my > Linux machine, > > > consisting of 5 18 GB UltraSCSI-2 (80 MB/sec) > drives. Everythinng is > > > working but I would like to know, where I can tweak > this for optimum > > > performance. > > > > If you do a lot of inserts, move the log file > ($PGDATA/pg_xlog) > > off the RAID-5 and on to a separate RAID-1 (mirrored) > pair. This will > > separate the buffered random writes to the data files > and the unbuffered, > > sequential writes to the log. > > > > cjs > > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send > an appropriate > subscribe-nomail command to majordomo@postgresql.org so > that your > message can get through to the mailing list cleanly