hello,everyone. I have a c test-program for "select query",if the program create thread every 3ms,it runs smoothly.but when the duration time interval reduce to 2.8ms,the sleeping process increase more and more,and then the server crash.the cpu and memory used percentage under 50%. my postgresql.conf file as bellow:
max_connections = 5000 shared_buffers = 1000MB work_mem = 256MB maintenance_work_mem = 512MB max_stack_depth = 10MB max_fsm_pages = 204800 max_fsm_relations = 1000 checkpoint_segments = 5 checkpoint_timeout = 5min checkpoint_completion_target = 0.5 checkpoint_warning = 30s enable_seqscan = off seq_page_cost = 10.0 # measured on an arbitrary scale random_page_cost = 20.0 # same scale as above cpu_tuple_cost = 1.0 # same scale as above cpu_index_tuple_cost = 0.4 # same scale as above cpu_operator_cost = 0.2 # same scale as above effective_cache_size = 128MB geqo = on geqo_threshold = 11 geqo_effort = 6 default_statistics_target = 250 from_collapse_limit = 16 join_collapse_limit = 16 datestyle = 'iso, mdy' lc_messages = 'en_US.UTF-8' lc_monetary = 'en_US.UTF-8' # locale for monetary formatting lc_numeric = 'en_US.UTF-8' # locale for number formatting lc_time = 'en_US.UTF-8' default_text_search_config = 'pg_catalog.english' deadlock_timeout = 1s max_locks_per_transaction = 96
server hardware : double cpu xeon 5405,4G memory.the table of database have 2millions records.
Maybe I should adjust system performance,but how? anyone can help me? thanks.