Hi all,
I compared 2.6 with elevator=deadline. It did bring some improvement in
performance. But still it does not beat 2.4.
Attached are three files for details.
I also ran a simple insert benchmark to insert a million record in a simple
table with a small int and a varchar(30).
Here are the results
2.6 deadline
1K/xact 299sec
10K/xact 277 sec
100K/xact 271 sec
2.6 AS
1K/xact 262sec
10K/xact Not done
100K/xact 257 sec
2.6 AS
1K/xact 252sec
10K/xact 243 sec
100K/xact 246 sec
It seems that I noted a test result wrongly. I need to do it again.
Overall 2.6 needs some real IO improvements. Of course it could do better on
multiway machine.
I guess there is no point bothering this with kernel hackers. They know this
stuff already, right.
Looking forward to next release of kernel and hope it improves things...
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 1m44.512s
user 0m1.765s
sys 0m0.134s
Kernel 2.6.0-test4
Effective cache size 38400 (300MB)
checkpoint segments=6
1)Shared buffers 1000
pgbench -c5 -t100 test1
tps = 135.647884 (including connections establishing)
tps = 138.318785 (excluding connections establishing)
pgbench -c5 -t1000 test1
tps = 61.097461 (including connections establishing)
tps = 61.144720 (excluding connections establishing)
pgbench -c10 -t100 test1
tps = 121.626566 (including connections establishing)
tps = 123.517787 (excluding connections establishing)
pgbench -c10 -t1000 test1
tps = 54.618036 (including connections establishing)
tps = 54.654704 (excluding connections establishing)
2) Shared buffers 2000
pgbench -c5 -t100 test1
tps = 131.715307 (including connections establishing)
tps = 134.220729 (excluding connections establishing)
pgbench -c5 -t1000 test1
tps = 74.486274 (including connections establishing)
tps = 74.559177 (excluding connections establishing)
pgbench -c10 -t100 test1
tps = 127.431602 (including connections establishing)
tps = 129.461754 (excluding connections establishing)
pgbench -c10 -t1000 test1
tps = 51.840810 (including connections establishing)
tps = 51.875044 (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 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])