配置项是管控proxy的一种使用手段, proxy内置的配置项主要包括两种:
更新后可以直接生效;
更新后需要重启proxy才能生效;
配置项的查看可以通过以下途径:
查看本地配置文件
etc/obproxy_conifg.bin
使用内部命令
show proxyconfig
查看
配置项的修改可以通过以下途径:
启动proxy时使用
-o k1=v1,k2=v2
进行修改启动proxy后, 使用内部命令
alter proxyconfig set k1=v1
进行修改
修改后直接生效的配置项如下表所示。
配置项名称 | 默认值 | 说明 |
| 60s | proxy检测配置更新的间隔时间, 范围[1s,1h] |
| 20s | 刷新observer状态的时间间隔, 范围[100ms, 1h] |
| 20s | 刷新config server时间间隔, 范围[10s,1d] |
| 2h | 刷新向config server查询idc状态的时间间隔, 范围[10s, 1d] |
| 60s | 更新内部表全局统计项task的时间间隔, 范围[0,1d] |
| 6000s | dump统计全局统计信息task的时间间隔, 范围[0, 1d] |
| 20s | dump租户QPS统计信息到日志文件的时间间隔, 范围[0,1h] |
| 24h | 热升级之后, 默认执行rollback的等待时间, 范围[1s,30d] |
| 120s | proxy优雅退出的等待时间, 范围[0s, 30d] |
| 20s | proxy和observer之间最大ping延迟, 范围[1s,30s] |
| 50h | 默认连接空闲最大时间, 超过该时间主动断连接, 范围[1s,30d] |
| 10m | proxy日志清理检查时间间隔, 范围[5s, 30d] |
| 80 | proxy日志清理百分比, 超过该比例开始清理日志, 范围[0,100], 0表示不清理 |
| 64GB | proxy日志大小阈值, 超过阈值即可进行日志清理, 范围[256MB,1T] |
| 1d | tenant server过期时间 [0s, 100d] |
| 8192 | proxy所能接受的客户端最大连接数, 范围[0, 65535] |
| 800M | proxy占用系统内存最大上限, 超过则进程主动退出, 范围[100M, 100G] |
| 128M | proxy缓存路由表最大内存上限, 超过范围会定期清理缓存路由表 范围[1k, 1G] |
| 20s | 路由表缓存检查更新剑哥时间, 范围[1s,1d] |
| 1s | proxy慢查询监控阈值, 范围[0, 30d] |
| 2ms | proxy内部处理时间慢查询阈值, 范围[0, 30d] |
| INFO | proxy日志级别, 支持DEBUG, TRACE, INFO, WARN, USER_ERR, ERROR |
| INFO | proxy xflush日志级别, 支持DEBUG, TRACE, INFO, WARN, USER_ERR, ERROR |
| true | 是否使用异步日志 |
| true | 登录认证时是否开启集群名校验 |
| true | 是否使用黑名单检查 |
| true | 防时序回退开关, 如果打开proxy会按优先级选择server并同步版本号 |
| false | 单次强制刷新config server |
| false | 单次强制刷新集群的rs list |
| false | 单次强制刷新集群的idc list |
| false | 单次强制远程配置库更新到本地 |
| :;-;. | client连接proxy时使用的username分隔符 |
| proxy当前所在机房名 |
修改后需要重启生效的配置项
配置项名称 | 默认值 | 说明 |
| 2 | 监听线程的个数, 范围[0, 8] |
| 8 | 工作线程个数, 范围[1,128] |
| true | 忽略指定的工作线程数, 使用当前机器的cpu个数取值 |
| false | 是否允许工作线程绑定在cpu上 |
| true | 是否使用proxymetadb |
| proxy启动依赖的config server url, 用于支持多集群 | |
| proxy启动依赖的集群rslist, ip1:port1;ip2:port2格式, 仅用于支持单集群 | |
| undefined | proxy使用rslist启动时, rslist所在的集群名称 |
| 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来处理