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