【标题描述】: 数据库跑tpcc业务,PEDO GAP过大
【测试类型:性能】【测试版本:5.0.0】 问题描述
【操作系统和硬件信息】(查询命令: cat /etc/system-release, uname -a):
【测试环境】(单机/1主x备x级联备):
一主一备
【被测功能】:
资源池化
【测试类型】:
性能
【数据库版本】(查询命令: gaussdb -V):
gaussdb (openGauss 5.0.0 build cec10a6b) compiled at 2023-03-22 03:07:59 commit 0 last mr
【预置条件】:
tpcc配置如下:
数据库参数配置:
gs_guc set -Z datanode -N all -I all -c "ss_enable_dms = on"
gs_guc set -Z datanode -N all -I all -c "listen_addresses = '*'"
gs_guc set -Z datanode -N all -I all -c "port = 3500"
gs_guc set -Z datanode -N all -I all -c "max_connections = 4096"
gs_guc set -Z datanode -N all -I all -c "remote_read_mode = non_authentication"
gs_guc set -Z datanode -N all -I all -c "allow_concurrent_tuple_update = true"
gs_guc set -Z datanode -N all -I all -c "audit_enabled = off"
gs_guc set -Z datanode -N all -I all -c "cstore_buffers = 16MB"
gs_guc set -Z datanode -N all -I all -c "enable_alarm = off"
gs_guc set -Z datanode -N all -I all -c "enable_codegen = false"
gs_guc set -Z datanode -N all -I all -c "enable_data_replicate = off"
gs_guc set -Z datanode -N all -I all -c "full_page_writes = off"
gs_guc set -Z datanode -N all -I all -c "max_files_per_process = 100000"
gs_guc set -Z datanode -N all -I all -c "max_prepared_transactions = 2048"
gs_guc set -Z datanode -N all -I all -c "max_process_memory = 400GB"
gs_guc set -Z datanode -N all -I all -c "shared_buffers = 500GB"
gs_guc set -Z datanode -N all -I all -c "use_workload_manager = off"
gs_guc set -Z datanode -N all -I all -c "wal_buffers = 1GB"
gs_guc set -Z datanode -N all -I all -c "work_mem = 1MB"
gs_guc set -Z datanode -N all -I all -c "transaction_isolation = 'read committed'"
gs_guc set -Z datanode -N all -I all -c "default_transaction_isolation = 'read committed'"
gs_guc set -Z datanode -N all -I all -c "synchronous_commit = on"
gs_guc set -Z datanode -N all -I all -c "fsync = on"
gs_guc set -Z datanode -N all -I all -c "maintenance_work_mem = 2GB"
gs_guc set -Z datanode -N all -I all -c "vacuum_cost_limit = 10000"
gs_guc set -Z datanode -N all -I all -c "autovacuum = off"
gs_guc set -Z datanode -N all -I all -c "autovacuum_mode = vacuum"
gs_guc set -Z datanode -N all -I all -c "autovacuum_max_workers = 20"
gs_guc set -Z datanode -N all -I all -c "autovacuum_naptime = 5s"
gs_guc set -Z datanode -N all -I all -c "autovacuum_vacuum_cost_delay = 10"
gs_guc set -Z datanode -N all -I all -c "update_lockwait_timeout = 20min"
gs_guc set -Z datanode -N all -I all -c "enable_mergejoin = off"
gs_guc set -Z datanode -N all -I all -c "enable_nestloop = off"
gs_guc set -Z datanode -N all -I all -c "enable_hashjoin = off"
gs_guc set -Z datanode -N all -I all -c "enable_material = off"
gs_guc set -Z datanode -N all -I all -c "wal_log_hints = off"
gs_guc set -Z datanode -N all -I all -c "log_duration = off"
gs_guc set -Z datanode -N all -I all -c "checkpoint_timeout = 15min"
gs_guc set -Z datanode -N all -I all -c "autovacuum_vacuum_scale_factor = 0.1"
gs_guc set -Z datanode -N all -I all -c "autovacuum_analyze_scale_factor = 0.02"
gs_guc set -Z datanode -N all -I all -c "enable_save_datachanged_timestamp = false"
gs_guc set -Z datanode -N all -I all -c "enable_double_write = on"
gs_guc set -Z datanode -N all -I all -c "enable_incremental_checkpoint = on"
gs_guc set -Z datanode -N all -I all -c "enable_opfusion = on"
gs_guc set -Z datanode -N all -I all -c "advance_xlog_file_num = 100"
gs_guc set -Z datanode -N all -I all -c "track_activities = off"
gs_guc set -Z datanode -N all -I all -c "enable_instr_track_wait = off"
gs_guc set -Z datanode -N all -I all -c "enable_instr_rt_percentile = off"
gs_guc set -Z datanode -N all -I all -c "track_counts = on"
gs_guc set -Z datanode -N all -I all -c "track_sql_count = off"
gs_guc set -Z datanode -N all -I all -c "enable_instr_cpu_timer = off"
gs_guc set -Z datanode -N all -I all -c "plog_merge_age = 0"
gs_guc set -Z datanode -N all -I all -c "session_timeout = 0"
gs_guc set -Z datanode -N all -I all -c "enable_instance_metric_persistent = off"
gs_guc set -Z datanode -N all -I all -c "enable_logical_io_statistics = off"
gs_guc set -Z datanode -N all -I all -c "enable_page_lsn_check = off"
gs_guc set -Z datanode -N all -I all -c "enable_user_metric_persistent = off"
gs_guc set -Z datanode -N all -I all -c "enable_xlog_prune = off"
gs_guc set -Z datanode -N all -I all -c "enable_resource_track = off"
gs_guc set -Z datanode -N all -I all -c "instr_unique_sql_count=0"
gs_guc set -Z datanode -N all -I all -c "remote_read_mode=non_authentication"
gs_guc set -Z datanode -N all -I all -c "wal_level = archive"
gs_guc set -Z datanode -N all -I all -c "hot_standby = off"
gs_guc set -Z datanode -N all -I all -c "hot_standby_feedback = off"
gs_guc set -Z datanode -N all -I all -c "client_min_messages = FATAL"
gs_guc set -Z datanode -N all -I all -c "log_min_messages = FATAL"
gs_guc set -Z datanode -N all -I all -c "enable_asp = off"
gs_guc set -Z datanode -N all -I all -c "enable_bbox_dump = off"
gs_guc set -Z datanode -N all -I all -c "bgwriter_flush_after = 32"
gs_guc set -Z datanode -N all -I all -c "wal_keep_segments = 1025"
gs_guc set -Z datanode -N all -I all -c "enable_bitmapscan = off"
gs_guc set -Z datanode -N all -I all -c "enable_seqscan = off"
gs_guc set -Z datanode -N all -I all -c "enable_beta_opfusion=on"
gs_guc set -Z datanode -N all -I all -c "checkpoint_segments=8000"
gs_guc set -Z datanode -N all -I all -c "enable_stmt_track=false"
gs_guc set -Z datanode -N all -I all -c "bgwriter_delay = 5s"
gs_guc set -Z datanode -N all -I all -c "incremental_checkpoint_timeout = 1s"
gs_guc set -Z datanode -N all -I all -c "xloginsert_locks = 16"
gs_guc set -Z datanode -N all -I all -c "walwriter_cpu_bind =0"
gs_guc set -Z datanode -N all -I all -c "wal_file_init_num = 20"
gs_guc set -Z datanode -N all -I all -c "pagewriter_sleep = 1ms"
gs_guc set -Z datanode -N all -I all -c "walwriter_sleep_threshold = 50000"
gs_guc set -Z datanode -N all -I all -c "gs_clean_timeout = 0"
gs_guc set -Z datanode -N all -I all -c "undo_zone_count = 0"
gs_guc set -Z datanode -N all -I all -c "max_redo_log_size = 400GB"
gs_guc set -Z datanode -N all -I all -c "max_io_capacity = 1GB"
gs_guc set -Z datanode -N all -I all -c "local_syscache_threshold = 32MB"
gs_guc set -Z datanode -N all -I all -c "segment_buffers = 1GB"
gs_guc set -Z datanode -N all -I all -c "numa_distribute_mode = 'all'"
gs_guc set -Z datanode -N all -I all -c "enable_thread_pool = on"
gs_guc reload -Z coordinator -Z datanode -N all -I all -h "host all all 0.0.0.0/0 sha256"
gs_guc set -Z datanode -N all -I all -c "thread_pool_attr = '400,4,(cpubind:1-31,48-127)'"
gs_guc set -Z datanode -N all -I all -c "recovery_parse_workers = 4"
gs_guc set -Z datanode -N all -I all -c "recovery_redo_workers = 4"
gs_guc set -Z datanode -N all -I all -c "pagewriter_thread_num = 8"
gs_guc set -Z datanode -N all -I all -c "advance_xlog_file_num = 5"
gs_guc set -Z datanode -N all -I all -c "max_redo_log_size=400GB"
gs_guc set -Z datanode -N all -I all -c "max_io_capacity=1GB"
gs_guc set -Z datanode -N all -I all -c "segment_buffers=64MB"
gs_guc set -Z datanode -N all -I all -c "ss_enable_ondemand_recovery = on"
【操作步骤】(请填写详细的操作步骤):
【预期输出】:
PEDO GAP在3G左右
【实际输出】:
PEDO GAP远大于3G
10分钟:
20分钟
30分钟
【原因分析】:
【日志信息】(请附上日志文件、截图、coredump信息):
【测试代码】:
Hey @zhaobingyu, Welcome to openGauss Community.
All of the projects in openGauss Community are maintained by @opengauss-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at Here to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Hi @zhaobingyu, please use the command /sig xxx to add a SIG label to this issue.
For example: /sig sqlengine or /sig storageengine or /sig om or /sig ai and so on.
You can find more SIG labels from Here.
If you have no idea about that, please contact with @xiangxinyong , @zhangxubo .
5.0.1 测试通过
登录 后才可以发表评论