That is likely correct, but the data will likely be stored in the OS file cache, so reading it from there will still be pretty fast.
Right -- but increasing shared_buffers won't increase my TPS, right? Btw, I just realised that irrespective of shared_buffers, my entire DB is already in memory (DB size=30GB, RAM=64GB). I think the following output from iotop confirms this. All throughout the benchmarking (client=1,4,8,12,24,48,96), the disk read values remain zero!
Total DISK READ : 0.00 B/s | Total DISK WRITE : 73.93 M/s
Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 43.69 M/s
Could this explain why my TPS numbers are not changing no matter how much I fiddle with the Postgres configuration?
If my hypothesis is correct, increasing the pgbench scale to get a 200GB database would immediately show different results, right?
-- Saurabh.