设置性能测试数据库参数(极限性能测试使用)
- 切换到数据库安装用户下面执行如下命令
gs_guc set -N all -I all -h "host all all 0.0.0.0/0 sha256" gs_guc set -N all -I all -c "listen_addresses ='*'" gs_guc set -N all -I all -c "max_connections = 4096" gs_guc set -N all -I all -c "remote_read_mode = non_authentication" gs_guc set -N all -I all -c "allow_concurrent_tuple_update = true" gs_guc set -N all -I all -c "audit_enabled = off" gs_guc set -N all -I all -c "cstore_buffers = 16MB" gs_guc set -N all -I all -c "enable_alarm = off" gs_guc set -N all -I all -c "enable_codegen = false" gs_guc set -N all -I all -c "enable_data_replicate = off" gs_guc set -N all -I all -c "full_page_writes = off" gs_guc set -N all -I all -c "max_files_per_process = 100000" gs_guc set -N all -I all -c "max_prepared_transactions = 2048" gs_guc set -N all -I all -c "max_process_memory = 500GB" gs_guc set -N all -I all -c "shared_buffers = 300GB" gs_guc set -N all -I all -c "use_workload_manager = off" gs_guc set -N all -I all -c "wal_buffers = 1GB" gs_guc set -N all -I all -c "work_mem = 1MB" gs_guc set -N all -I all -c "transaction_isolation = 'read committed'" gs_guc set -N all -I all -c "default_transaction_isolation = 'read committed'" gs_guc set -N all -I all -c "synchronous_commit = on" gs_guc set -N all -I all -c "fsync = on" gs_guc set -N all -I all -c "maintenance_work_mem = 2GB" gs_guc set -N all -I all -c "vacuum_cost_limit = 10000" gs_guc set -N all -I all -c "autovacuum = on" gs_guc set -N all -I all -c "autovacuum_mode = vacuum" gs_guc set -N all -I all -c "autovacuum_max_workers = 20" gs_guc set -N all -I all -c "autovacuum_naptime = 5s" gs_guc set -N all -I all -c "autovacuum_vacuum_cost_delay = 10" gs_guc set -N all -I all -c "update_lockwait_timeout = 20min" gs_guc set -N all -I all -c "enable_mergejoin = off" gs_guc set -N all -I all -c "enable_nestloop = off" gs_guc set -N all -I all -c "enable_hashjoin = off" gs_guc set -N all -I all -c "enable_material = off" gs_guc set -N all -I all -c "wal_log_hints = off" gs_guc set -N all -I all -c "log_duration = off" gs_guc set -N all -I all -c "checkpoint_timeout = 15min" gs_guc set -N all -I all -c "autovacuum_vacuum_scale_factor = 0.1" gs_guc set -N all -I all -c "autovacuum_analyze_scale_factor = 0.02" gs_guc set -N all -I all -c "enable_save_datachanged_timestamp = false" gs_guc set -N all -I all -c "enable_double_write = on" gs_guc set -N all -I all -c "enable_incremental_checkpoint = on" gs_guc set -N all -I all -c "enable_opfusion = on" gs_guc set -N all -I all -c "advance_xlog_file_num = 5" gs_guc set -N all -I all -c "track_activities = off" gs_guc set -N all -I all -c "enable_instr_track_wait = off" gs_guc set -N all -I all -c "enable_instr_rt_percentile = off" gs_guc set -N all -I all -c "track_counts = off" gs_guc set -N all -I all -c "track_sql_count = off" gs_guc set -N all -I all -c "enable_instr_cpu_timer = off" gs_guc set -N all -I all -c "plog_merge_age = 0" gs_guc set -N all -I all -c "session_timeout = 0" gs_guc set -N all -I all -c "enable_instance_metric_persistent = off" gs_guc set -N all -I all -c "enable_logical_io_statistics = off" gs_guc set -N all -I all -c "enable_page_lsn_check = off" gs_guc set -N all -I all -c "enable_user_metric_persistent = off" gs_guc set -N all -I all -c "enable_xlog_prune = off" gs_guc set -N all -I all -c "enable_resource_track = off" gs_guc set -N all -I all -c "instr_unique_sql_count=0" gs_guc set -N all -I all -c "remote_read_mode=non_authentication" gs_guc set -N all -I all -c "wal_level = archive" gs_guc set -N all -I all -c "hot_standby = off" gs_guc set -N all -I all -c "hot_standby_feedback = off" gs_guc set -N all -I all -c "client_min_messages = ERROR" gs_guc set -N all -I all -c "log_min_messages = FATAL" gs_guc set -N all -I all -c "enable_asp = off" gs_guc set -N all -I all -c "enable_bbox_dump = off" gs_guc set -N all -I all -c "bgwriter_flush_after = 32" gs_guc set -N all -I all -c "wal_keep_segments = 1025" gs_guc set -N all -I all -c "enable_bitmapscan = off" gs_guc set -N all -I all -c "enable_seqscan = off" gs_guc set -N all -I all -c "enable_beta_opfusion=on" gs_guc set -N all -I all -c "checkpoint_segments=8000" gs_guc set -N all -I all -c "enable_stmt_track=false" gs_guc set -N all -I all -c "bgwriter_delay = 5s" gs_guc set -N all -I all -c "incremental_checkpoint_timeout = 5min" gs_guc set -N all -I all -c "xloginsert_locks = 16" gs_guc set -N all -I all -c "walwriter_cpu_bind = 0" gs_guc set -N all -I all -c "wal_file_init_num = 20" gs_guc set -N all -I all -c "pagewriter_sleep = 5s" gs_guc set -N all -I all -c "walwriter_sleep_threshold = 50000" gs_guc set -N all -I all -c "gs_clean_timeout = 0" gs_guc set -N all -I all -c "undo_zone_count = 0" gs_guc set -N all -I all -c "pagewriter_thread_num = 4" gs_guc set -N all -I all -c "max_redo_log_size = 400GB" gs_guc set -N all -I all -c "max_io_capacity = 10GB" gs_guc set -N all -I all -c "local_syscache_threshold = 32MB" gs_guc set -N all -I all -c "segment_buffers = 1GB" gs_guc set -N all -I all -c "numa_distribute_mode ='all'" gs_guc set -N all -I all -c "enable_cachedplan_mgr = off" gs_guc set -N all -I all -c "light_comm = on" gs_guc set -N all -I all -c "enable_indexscan_optimization = on" gs_guc set -N all -I all -c "ss_enable_ssl = off" gs_guc set -N all -I all -c "ssl = off" gs_guc set -N all -I all -c "ss_interconnect_channel_count = 32" gs_guc set -N all -I all -c "ss_work_thread_count = 128" gs_guc set -N all -I all -c "ss_recv_msg_pool_size = 1GB" gs_guc set -N all -I all -c "enable_global_syscache = on"