Saurabh Dave wrote:
As others have pointed tuning is not a caned answer hence all the config options to start with. But to change the configuration to something a bench mark must be made. The only way to do that is identify the common SQL commands sent to the server then run explain analyze so you know what the server is doing. Then post the the results along with Config file and we can make suggestions There is http://wiki.postgresql.org/wiki/Performance_Optimization Greg Smith is working on a tuner http://notemagnet.blogspot.com/2008/11/automating-initial-postgresqlconf.html But thats a monumental undertaking as one configuration setting for one type of work load can be ruinousness to another work load. The one common theme is know the workload so the configuration matches. This boils down to know the work load. different kinds of work loads: A: more writing with very few reads. B: more reads that are simple queries and few complex quiers with very few writes. There is a ratio to look at in my case 10000 reads occur before next write So we have lots of indexes aimed at those common queries. C: Complex queries taking minutes to hours to run on data warehouse covering millions of records. D: equal work load between writes and reads. There are many kinds of workloads requiring different configurations. <snip> |