Hello


We hace a Quad Xeon server, with 8GO of ram, sata II 750Go

An postgresql database, of 10 Go

I have several treatment every 2 minutes who select, insert, update thousand of data in a table. It take a lot of time (0.3300 ms per line) just to check if a string of 15 char is present, and decide to update it under few constraint

I suppose the main problem is from database server settings.

This is my settings :


max_connections = 256
shared_buffers = 1500                   # min 16 or max_connections*2, 8KB each
temp_buffers = 500                      # min 100, 8KB each
max_prepared_transactions = 100

work_mem = 22000                        # min 64, size in KB
maintenance_work_mem = 500000           # min 1024, size in KB
max_stack_depth = 8192


max_fsm_pages = 100000                  # min max_fsm_relations*16, 6 bytes each
max_fsm_relations = 5000 


vacuum_cost_delay = 50                  # 0-1000 milliseconds
vacuum_cost_page_hit = 1000             # 0-10000 credits
vacuum_cost_page_miss = 1000            # 0-10000 credits
vacuum_cost_page_dirty = 120            # 0-10000 credits
vacuum_cost_limit = 2000                # 0-10000 credits

# - Background writer -

bgwriter_delay = 50                     # 10-10000 milliseconds between rounds
bgwriter_lru_percent = 1.0              # 0-100% of LRU buffers scanned/round
bgwriter_lru_maxpages = 25              # 0-1000 buffers max written/round
bgwriter_all_percent = 0.333            # 0-100% of all buffers scanned/round
bgwriter_all_maxpages = 50              # 0-1000 buffers max written/round

wal_buffers = 16                        # min 4, 8KB each
commit_delay = 500                      # range 0-100000, in microseconds
commit_siblings = 50                    # range 1-1000

# - Checkpoints -

checkpoint_segments = 50                # in logfile segments, min 1, 16MB each
checkpoint_timeout = 1800               # range 30-3600, in seconds
checkpoint_warning = 180   

effective_cache_size = 2048             # typically 8KB each
random_page_cost = 3  


Shared memory set to :
echo /proc/sys/kernel/shmmax = 256000000

Could you help  please...

tx


David