I have been doing some benchmarking. The idea is to measure the difference
between PostgreSQL 7.2.1 compiled for an 8K block or a 16K block. pgbench is
almost useless for measuring changes in performance, I can't seem to get any
real consistency, so I used the osdb to measure performance.

In the 16K block configuration, I reduced the number of blocks by half, so as
to keep caching memory similarly sized.


The machine:
RedHat 7.2, dual PIII 650, 1G ram, 2 IBM scsi 18G drives.
uname -a:
Linux slave1.mohawksoft.com 2.4.7-10smp #1 SMP Thu Sep 6 17:09:31 EDT 2001 i686
unknown

mount:
[markw@slave1 markw]$ mount
/dev/sda3 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
/dev/sda1 on /boot type ext3 (rw)
/dev/sda4 on /u01 type ext2 (rw)
/dev/sdb1 on /u02 type ext2 (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)

The 8K data directory:
[postgres@slave1 data]$ pwd
/home/postgres/data
[postgres@slave1 data]$ ls -l
total 40
lrwxrwxrwx    1 root     root            9 Mar  6 07:21 base -> /u02/base
drwx------    2 postgres postgres     4096 Apr 25 21:51 global
drwx------    2 postgres postgres     4096 Apr 25 21:29 pg_clog
-rw-------    1 postgres postgres    10068 Mar  6 07:26 pg_hba.conf
-rw-------    1 postgres postgres     1250 Mar  6 07:20 pg_ident.conf
-rw-------    1 postgres postgres        4 Mar  6 07:20 PG_VERSION
lrwxrwxrwx    1 root     root           12 Mar  6 07:22 pg_xlog -> /u01/pg_xlog
-rw-------    1 postgres postgres     3095 Apr 24 19:23 postgresql.conf
-rw-------    1 postgres postgres       56 Apr 25 20:54 postmaster.opts
-rw-------    1 postgres postgres       44 Apr 25 20:54 postmaster.pid

The 16K data directory:
[postgres@slave1 data16kb]$ pwd
/home/postgres/data16kb
[postgres@slave1 data16kb]$ ls -l
total 36
lrwxrwxrwx    1 postgres postgres       13 Apr 25 08:47 base -> /u02/base16kb
drwx------    2 postgres postgres     4096 Apr 25 20:53 global
drwx------    2 postgres postgres     4096 Apr 25 20:33 pg_clog
-rw-------    1 postgres postgres    10068 Apr 25 08:44 pg_hba.conf
-rw-------    1 postgres postgres     1250 Apr 25 08:43 pg_ident.conf
-rw-------    1 postgres postgres        4 Apr 25 08:43 PG_VERSION
lrwxrwxrwx    1 postgres postgres       16 Apr 25 08:46 pg_xlog ->
/u01/pg_xlog16kb
-rw-------    1 postgres postgres     3095 Apr 25 08:44 postgresql.conf
-rw-------    1 postgres postgres       64 Apr 25 14:59 postmaster.opts
Thu, 25 Apr 2002 22:16:00 -0400
mlw <markw@mohawksoft.com>
8K vs 16K block size report