settings input for upgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm in the process of upgrading from postgres 7.4.8 to 9.0.4 and wanted to run my decisions past some folks who can give me some input on whether my decisions make sense or not.
 

It's basically a LAPP configuration and on a busy day we probably get in the neighborhood of a million hits.

 
Server Info:
 
- 4 dual-core AMD Opteron 2212 processors, 2010.485 MHz
- 64GB RAM
- 16 67GB RAID 1 drives and 1 464GB RAID 10 drive (all ext3)
- Linux 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
 
There are 3 separate databases:
 
DB1 is 10GB and consists of multiple tables that I've spread out so that the 3 most used have their data and indexes on 6 separate RAID1 drives, the 3 next busiest have data & index on 3 drives, and the remaining tables and indexes are on the RAID10 drive. The WAL for all is on a separate RAID1 drive.
 
The others are very write-heavy, started as one table within the original DB, and were split out on an odd/even id # in an effort to get better performance:
 
DB2 is 25GB with data, index, and WAL all on separate RAID1 drives.
DB3 is 15GB with data, index, and WAL on separate RAID1 drives.
 
Here are the changes I made to postgres.conf. The only differences between the conf file for DB1 and those for DB2 & 3 are the port and effective_cache_size (which I made slightly smaller -- 8 GB instead of 10 -- for the 2 write-heavy DBs). The 600 max connections are often idle and don't get explicitly closed in the application. I'm looking at connection pooling as well.
 

 autovacuum = on

 autovacuum_analyze_threshold = 250

 autovacuum_freeze_max_age = 200000000

 autovacuum_max_workers = 3

 autovacuum_naptime = 10min

 autovacuum_vacuum_cost_delay = 20ms

 autovacuum_vacuum_cost_limit = -1

 autovacuum_vacuum_threshold  = 250

 checkpoint_completion_target = 0.7

 checkpoint_segments = 64

 checkpoint_timeout = 5min

 checkpoint_warning = 30s

 deadlock_timeout = 3s

 effective_cache_size = 10GB

 log_autovacuum_min_duration  = 1s

 maintenance_work_mem = 256MB

 max_connections = 600

 max_locks_per_transaction = 64

 max_stack_depth = 8MB

 shared_buffers = 4GB

 vacuum_cost_delay = 10ms

 wal_buffers = 32MB

 wal_level = minimal

 work_mem = 128MB

 

 
ANY comments or suggestions would be greatly appreciated.  
 
Thank you,
Midge
 
 
 
 

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux