Hi,

Not sure if anyone will find this of interest, but I ran
pgbench on my main Linux box to see what sort of performance
difference might be visible between 2.2 and 2.4 kernels.

Hardware: A dual P3-450 with 384Mb of RAM and 3 SCSI disks.
The pg datafiles live in a half-gig partition on the first
one.

Software: Red Hat 6.1 plus all sort of bits and pieces.
PostgreSQL 7.1beta4 RPMs.  pgbench hand-compiled from source
for same.  No options changed from defaults.  (I'll look at
that tomorrow -- is there anything worth changing other than
commit_delay and fsync?)

Kernels: 2.2.15 + software RAID patches, 2.4.2-pre2

With 2.2.15:
        pgbench -s5 -i: 1.27.78 elapsed
        pgbench -s5 -t100:
        clients: TPS / TPS (excluding connection establishment)
        1: 39.66 / 40.08 TPS
        2: 60.77 / 61.64 TPS
        4: 76.15 / 77.42
        8: 90.99 / 92.73
        16: 71.10 / 72.15
        32: 49.20 / 49.70
        1: 27.76 / 28.00
        1: 27.82 / 28.03

        pgbench -v -s5 -t100:
        1: 30.73 / 30.98


And with 2.4.2-pre2:
        pgbench -s5 -i: 1:17.46 elapsed
        pgbench -s5 -t100
        1: 43.57 / 44.11 TPS
        2: 62.85 / 63.86 TPS
        4: 87.24 / 89.08 TPS
        8: 86.60 / 88.38 TPS
        16: 53.22 / 53.88 TPS
        32: 60.28 / 61.10 TPS
        1: 35.93 / 36.33
        1: 34.82 / 35.18

        pgbench -v -s5 -t100:
        1: 35.70 / 36.01


Overall, two things jump out at me.

Firstly, it looks like 2.4 is mixed news for heavy pgbench users
:)  Low-utilisation numbers are better, but the sweet spot seems
lower and narrower.

Secondly, in both occasions after a run, performance has been
more than 20% lower.  Restarting or performing a full vacuum does
not seem to help.  Is there some sort of fragmentation issue
here?

Matthew.

Reply via email to