Hi all,

I did some benchmarking using pgbench and postgresql CVS head, compiled 
yesterday. 

The results are attached. It looks like 2.6.0-test4 does better under load but 
under light load the performance isn't that great. OTOH 2.4.20 suffer major 
degradation compare to 2.6. Looks like linux is also getting heavy at lower 
end. Of course it isn't as bad as solaris as yet..:-)

IIRC in a kernel release note recently, it was commented that IO scheduler is 
still being worked on and does not perform as much for random seeks, which 
exaclty what database needs.

How does these number stack up with other platforms? Anybody with SCSI disks 
out there? I doubt IDE has some role to play with this.

Comments?

 Shridhar
Vacumm full done after each run.
pg_resetlog run between each server start

Scaling factor: 10
Initialization time: 
real    1m42.282s
user    0m1.787s
sys     0m0.121s

Kernel 2.6.0-test4
Effective cache size 38400 (300MB)
checkpoint segments=6

1)Shared buffers 1000

pgbench -c5 -t100 test1 
tps = 131.962542 (including connections establishing)
tps = 134.418358 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 79.301493 (including connections establishing)
tps = 79.393258 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 64.917044 (including connections establishing)
tps = 65.438067 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 66.135615 (including connections establishing)
tps = 66.193039 (excluding connections establishing)

2) Shared buffers 2000

pgbench -c5 -t100 test1
tps = 135.598994 (including connections establishing)
tps = 138.296634 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 81.331678 (including connections establishing)
tps = 81.425369 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 116.524476 (including connections establishing)
tps = 118.388407 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 64.659894 (including connections establishing)
tps = 64.719829 (excluding connections establishing)

3) Shared buffers 3000

pgbench -c5 -t100 test
tps = 132.489569 (including connections establishing)
tps = 135.177003 (excluding connections establishing)

pgbench -c5 -t1000 test
tps = 70.272855 (including connections establishing)
tps = 70.343452 (excluding connections establishing)

pgbench -c10 -t100 test
tps = 121.624524 (including connections establishing)
tps = 123.549086 (excluding connections establishing)

pgbench -c10 -t1000 test
tps = 64.124644 (including connections establishing)
tps = 64.183736 (excluding connections establishing)

4) noatime enabled Shared buffers 3000

pgbench -c5 -t100 test
tps = 90.850600 (including connections establishing)
tps = 92.053686 (excluding connections establishing)

pgbench -c5 -t1000 test
tps = 92.209724 (including connections establishing)
tps = 92.329682 (excluding connections establishing)

pgbench -c10 -t100 test
tps = 79.264231 (including connections establishing)
tps = 80.145448 (excluding connections establishing)

pgbench -c10 -t1000 test
tps = 70.439082 (including connections establishing)
tps = 70.506189 (excluding connections establishing)
Vacumm full done after each run.
pg_resetlog run between each server start

Scaling factor: 10
Initialization time: 
real    1m32.551s
user    0m1.710s
sys     0m0.130s

Kernel 2.4.20 
Effective cache size 38400 (300MB)
checkpoint segments=6

1)Shared buffers 1000

pgbench -c5 -t100 test1 
tps = 145.504917 (including connections establishing)
tps = 147.991299 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 70.785341 (including connections establishing)
tps = 70.849065 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 147.605267 (including connections establishing)
tps = 149.944123 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 55.646866 (including connections establishing)
tps = 55.678399 (excluding connections establishing)

2) Shared buffers 2000

pgbench -c5 -t100 test1
tps = 140.115444 (including connections establishing)
tps = 142.441377 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 77.015876 (including connections establishing)
tps = 77.084474 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 128.512768 (including connections establishing)
tps = 130.314689 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 55.003077 (including connections establishing)
tps = 55.035001 (excluding connections establishing)

3) Shared buffers 3000

pgbench -c5 -t100 test1
tps = 153.142499 (including connections establishing)
tps = 156.094637 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 81.391878 (including connections establishing)
tps = 81.472845 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 120.420876 (including connections establishing)
tps = 122.066975 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 56.766460 (including connections establishing)
tps = 56.801117 (excluding connections establishing)

4) Shared buffers 3000, noatime

pgbench -c5 -t100 test1
tps = 140.464589 (including connections establishing)
tps = 143.152323 (excluding connections establishing)

pgbench -c5 -t1000 test1
tps = 94.718161 (including connections establishing)
tps = 94.826618 (excluding connections establishing)

pgbench -c10 -t100 test1
tps = 131.925129 (including connections establishing)
tps = 133.826403 (excluding connections establishing)

pgbench -c10 -t1000 test1
tps = 65.374006 (including connections establishing)
tps = 65.458626 (excluding connections establishing)
---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to