My question is simply: have i missed any configuration settings that might make postgres achieve better read throughput?
Background
I'm modeling a very simple twitter program. My schema has only 3 tables: subscriptions, posts, and timelines.
I have indexes on each of the tables, most importantly the timeline.time field.
I start postgres with:
postgres -h 127.0.0.1 -p 10000 -D /mnt/tmp/postgres -c synchronous_commit=off
-c fsync=off -c full_page_writes=off -c bgwriter_lru_maxpages=0
-c shared_buffers=24GB -c bgwriter_delay=10000 -c checkpoint_segments=600
Note that 24GB is somewhat bigger than my dataset (i tried using 36GB with no additional gain). Also, /mnt/tmp is a tmpfs in ram so any 'disk' writes should be as fast as possible.
Am i missing anything major?