Hi Everybody,
I was trying to see how many inserts per seconds my application could handle on various machines.
Those are the machines I used to run my app:
1) Pentium M 1.7Ghz
2) Pentium 4 2.4 Ghz
3) DMP Xeon 3Ghz
Sure, I was expecting the dual Zeon to outperform the Pentium M and 4. But the data showed the opposite.
So, I wrote a simple program (in C) using the libpq.so.5 which opens a connection to the database (DB in localhost),
Creates a Prepared statement for the insert and does a 10,000 insert. The result did not change.
Only after setting fsync to off in the config file, the amount of time to insert 10,000 records was acceptable.
Here is the data:
Time for 10000 inserts | Fsync=on | Fsync=off |
Pentium M 1.7 | ~17 sec | ~6 sec |
Pentium 4 2.4 | ~13 sec | ~11 sec |
Dual Xeon | ~65 sec | ~1.9 sec |
I read that postgres does have issues with MP Xeon (costly context switching). But I still think that with fsync=on 65 seconds is ridiculous.
Can anybody direct me to some improved/acceptable performance with fsync=on?
Thx,
Orhan a.