Hello. I have a server with 4GB of RAM and PostgreSQL 9.0.3 on Centos 5. I'm using pgbench and pgbench-tools to measure performance, using two pgbench-tools queries: select and tpc-b.
With default settings of postgresql.conf and select query, I get the following results: Scale: 1, 10, 100, 1000. Transactions per second: 10000, 8800, 7500, 100. (the number of records of the table is scale*100000) I've only increased the option shared_buffer to 256MB (previously had 32 MB) and I get the following results: Scale: 1, 10, 100, 1000. Transactions per second: 10000, 8000, 3200, 30 I don't understand why when the scale is 100 or more in the second benchmark, the performance is so low compared to the first test. The only thing I have done was increase the memory. I've thrown every test twice and the results were similar. In an earlier test, the memory configuration was: shared_buffers = 512 MB maintenance_work_mem = 8MB effective_cache_size = 1GB work_mem = 2MB And the results were similar, even slightly worse. For that reason, I did tests changing options one by one, to know what was the cause of poor performance. And "the winner" is shared_buffers... Thanks.