配置项是管控proxy的一种使用手段, proxy内置的配置项主要包括两种:

    • 更新后可以直接生效;

    • 更新后需要重启proxy才能生效;

    配置项的查看可以通过以下途径:

    • 查看本地配置文件 etc/obproxy_conifg.bin

    • 使用内部命令 show proxyconfig 查看

    配置项的修改可以通过以下途径:

    • 启动proxy时使用-o k1=v1,k2=v2进行修改

    • 启动proxy后, 使用内部命令alter proxyconfig set k1=v1进行修改

    修改后直接生效的配置项如下表所示。

    配置项名称

    默认值

    说明

    proxy_info_check_interval

    60s

    proxy检测配置更新的间隔时间, 范围[1s,1h]

    server_state_refresh_interval

    20s

    刷新observer状态的时间间隔, 范围[100ms, 1h]

    config_server_refresh_interval

    20s

    刷新config server时间间隔, 范围[10s,1d]

    idc_list_refresh_interval

    2h

    刷新向config server查询idc状态的时间间隔, 范围[10s, 1d]

    stat_table_sync_interval

    60s

    更新内部表全局统计项task的时间间隔, 范围[0,1d]

    stat_dump_interval

    6000s

    dump统计全局统计信息task的时间间隔, 范围[0, 1d]

    tenant_stat_dump_interval

    20s

    dump租户QPS统计信息到日志文件的时间间隔, 范围[0,1h]

    hot_upgrade_rollback_timeout

    24h

    热升级之后, 默认执行rollback的等待时间, 范围[1s,30d]

    hot_upgrade_graceful_exit_timeout

    120s

    proxy优雅退出的等待时间, 范围[0s, 30d]

    observer_query_timeout_delta

    20s

    proxy和observer之间最大ping延迟, 范围[1s,30s]

    default_inactivity_timeout

    50h

    默认连接空闲最大时间, 超过该时间主动断连接, 范围[1s,30d]

    log_cleanup_interval

    10m

    proxy日志清理检查时间间隔, 范围[5s, 30d]

    log_file_percentage

    80

    proxy日志清理百分比, 超过该比例开始清理日志, 范围[0,100], 0表示不清理

    log_dir_size_threshold

    64GB

    proxy日志大小阈值, 超过阈值即可进行日志清理, 范围[256MB,1T]

    tenant_location_valid_time

    1d

    tenant server过期时间 [0s, 100d]

    client_max_connections

    8192

    proxy所能接受的客户端最大连接数, 范围[0, 65535]

    proxy_mem_limited

    800M

    proxy占用系统内存最大上限, 超过则进程主动退出, 范围[100M, 100G]

    routing_cache_mem_limited

    128M

    proxy缓存路由表最大内存上限, 超过范围会定期清理缓存路由表 范围[1k, 1G]

    cache_cleaner_clean_interval

    20s

    路由表缓存检查更新剑哥时间, 范围[1s,1d]

    slow_transaction_time_threshold

    1s

    proxy慢查询监控阈值, 范围[0, 30d]

    slow_proxy_process_time_threshold

    2ms

    proxy内部处理时间慢查询阈值, 范围[0, 30d]

    syslog_level

    INFO

    proxy日志级别, 支持DEBUG, TRACE, INFO, WARN, USER_ERR, ERROR

    xflush_log_level

    INFO

    proxy xflush日志级别, 支持DEBUG, TRACE, INFO, WARN, USER_ERR, ERROR

    enable_async_log

    true

    是否使用异步日志

    enable_cluster_checkout

    true

    登录认证时是否开启集群名校验

    enable_congestion

    true

    是否使用黑名单检查

    enable_causal_order_read

    true

    防时序回退开关, 如果打开proxy会按优先级选择server并同步版本号

    refresh_json_config

    false

    单次强制刷新config server

    refresh_rslist

    false

    单次强制刷新集群的rs list

    refresh_idc_list

    false

    单次强制刷新集群的idc list

    refresh_config

    false

    单次强制远程配置库更新到本地

    username_separator

    :;-;.

    client连接proxy时使用的username分隔符

    proxy_idc_name

    proxy当前所在机房名

    修改后需要重启生效的配置项

    配置项名称

    默认值

    说明

    net_accept_threads

    2

    监听线程的个数, 范围[0, 8]

    work_thread_num

    8

    工作线程个数, 范围[1,128]

    automatic_match_work_thread

    true

    忽略指定的工作线程数, 使用当前机器的cpu个数取值

    enable_cpu_topology

    false

    是否允许工作线程绑定在cpu上

    enable_metadb_used

    true

    是否使用proxymetadb

    obproxy_config_server_url

    proxy启动依赖的config server url, 用于支持多集群

    rootservice_list

    proxy启动依赖的集群rslist, ip1:port1;ip2:port2格式, 仅用于支持单集群

    rootservice_cluster_name

    undefined

    proxy使用rslist启动时, rslist所在的集群名称

    app_name

    undefined

    proxy所属应用的名称

    注意事项

    对于所有time类型(单位支持us、ms、s、m、h、d, 不区分大小写, 默认为s)、capacity类型(单位支持b、byte、kb、k、mb、m、gb、g、tb、t、pb、p, 不区分大小写, 默认为mb)的配置项, 如果其取值范围为[0,xxx], 在更新配置时可以将其值设置为负数, 通过ob_all_proxy_config表或者proxy内部查询命令show proxyconfig 查询出的结果也是负数, 但是proxy内部实际仍将其转换成0来处理