sort_mem = 8192
vacuum_mem = 32768
#max_fsm_relations = 1000 # min 100, ~50 bytes each
#preload_libraries = ''
#---------------------------------------------------------------------------
# WRITE AHEAD LOG
#---------------------------------------------------------------------------
# fsync, fdatasync, open_sync, or open_datasync
#wal_buffers = 8 # min 4, 8KB each
checkpoint_segments = 8
#checkpoint_timeout = 300 # range 30-3600, in seconds
#checkpoint_warning = 30 # 0 is off, in seconds
#commit_delay = 0 # range 0-100000, in microseconds
commit_delay = 20
#commit_siblings = 5 # range 1-1000
effective_cache_size = 307800
bash-3.00$ pgbench test -t 20 -c 30 -s 50
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 50
number of clients: 30
number of transactions per client: 20
number of transactions actually processed: 600/600
tps = 337.196481 (including connections establishing)
tps = 375.478735 (excluding connections establishing)
max_connections = 200
#shared_buffers = 2000 # min 16 or max_connections*2, 8KB each
shared_buffers = 31744
#temp_buffers = 1000 # min 100, 8KB each
#max_prepared_transactions = 5 # can be 0 or more
# note: increasing max_prepared_transactions costs ~600 bytes of shared memory
# per transaction slot, plus lock space (see max_locks_per_transaction).
#work_mem = 1024 # min 64, size in KB
work_mem = 8192
#maintenance_work_mem = 16384 # min 1024, size in KB
maintenance_work_mem = 131078
#max_stack_depth = 2048 # min 100, size in KB
#commit_delay = 0 # range 0-100000, in microseconds
commit_delay = 20
#commit_siblings = 5 # range 1-1000
# - Checkpoints -
#checkpoint_segments = 3 # in logfile segments, min 1, 16MB each
checkpoint_segments = 8
#checkpoint_timeout = 300 # range 30-3600, in seconds
#checkpoint_warning = 30 # in seconds, 0 is off
#effective_cache_size = 1000 # typically 8KB each
effective_cache_size = 307800
#autovacuum = off # enable autovacuum subprocess?
#autovacuum_naptime = 60 # time between autovacuum runs, in secs
#autovacuum_vacuum_threshold = 1000 # min # of tuple updates before
# vacuum
#autovacuum_analyze_threshold = 500 # min # of tuple updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.4 # fraction of rel size before
# vacuum
#autovacuum_analyze_scale_factor = 0.2 # fraction of rel size before
# analyze
#autovacuum_vacuum_cost_delay = -1 # default vacuum cost delay for
# autovac, -1 means use
# vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovac, -1 means use
# vacuum_cost_limit
-- pgbench test -t 20 -c 30 -s 50
tps = 197 (including connections establishing)
tps = 212
1. How should I adjust my new configuration to improve the performance ?
2. And should I set autovaccum = on and if it is on what is the other proper parameter to be set?
--
Amrit Angsusingh
Thailand