Quote:
Originally Posted by stefan_vasco
The problem is that I can only average 428 operations per second when I run tests on my java project (i run multiple threads). For each "operation" i have 2 inserts, one update and one simple select query. Is this a good performance? What can I espect from postgres on my system.
|
With this workload you are most probably constrained by IO (I'm pretty sure the people on the Postgres mailing list could even calculate your max. IO if you give them the specs of your hardware).
You did not provide the most important information for a database server: What kind of harddisk system is that server using?
A RAID 10 with at least 4 disks is (as far as I'm concerned) the minimum for a decent database server. The more disks you have the faster your server will be.
Additionally the Windows file system is not known for good speed, especially for database servers.
One thing you could try to speed up write performance is to turn off synchronous commits if you can afford that in case of a system failure (e.g. power outage) some transactions are lost.
Another thing to look at is checkpoint_segments. With that workload you should defintely increase them. The default number is way to low for that. For your system start with 32 or even 64. Larger system even go up to 256.
Make sure you read:
Performance Optimization - PostgreSQL wiki
Tuning Your PostgreSQL Server - PostgreSQL wiki
You might also want to grab a copy of this book:
https://www.packtpub.com/postgresql-...rformance/book