背景信息 #
SphereEx-DBPlusEngine-Proxy 提供了丰富的系统配置属性,用户可通过 server.yaml
进行配置。
参数解释 #
名称 | 数据类型 | 说明 | 默认值 | 动态生效 |
---|---|---|---|---|
sql-federation-type | String | 联邦查询执行器类型,包括:NONE,ORIGINAL,ADVANCED。 | NONE | 是 |
agent-plugins-enabled | boolean | 是否启用 agent plugin 插件。 TRUE/FALSE | TRUE | 否 |
transaction-type | String | 事务类型。 LOCAL/XA/BASE/MANUALXA | LOCAL | 否 |
kernel-executor-size | int | 用于设置任务处理线程池的大小。每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池。 | infinite | 否 |
max-connections-size-per-query | int | 一次查询请求在每个数据库实例中所能使用的最大连接数。 | 1 | 是 |
check-table-meta-data-enabled | boolean | 在程序启动和更新时,是否检查分片元数据的结构一致性。 | false | 是 |
proxy-frontend-flush-threshold | int | 在 ShardingSphere-Proxy 中设置传输数据条数的 IO 刷新阈值。 | 128 | 是 |
proxy-hint-enabled | boolean | 是否允许在 ShardingSphere-Proxy 中使用 Hint。使用 Hint 会将 Proxy 的线程处理模型由 IO 多路复用变更为每个请求一个独立的线程,会降低 Proxy 的吞吐量。 | false | 是 |
proxy-backend-query-fetch-size | int | Proxy 后端与数据库交互的每次获取数据行数(使用游标的情况下)。数值增大可能会增加 ShardingSphere Proxy 的内存使用。默认值为 -1,代表设置为 JDBC 驱动的最小值。 | -1 | 是 |
proxy-frontend-executor-size | int | Proxy 前端 Netty 线程池线程数量,默认值 0 代表使用 Netty 默认值。 | 0 | 否 |
proxy-backend-executor-suitable | String | 可选选项:OLAP、OLTP。OLTP 选项可能会减少向客户端写入数据包的时间开销,但如果客户端连接数超过 proxy-frontend-executor-size ,尤其是执行慢 SQL 时,它可能会增加 SQL 执行的延迟甚至阻塞其他客户端的连接。 | OLAP | 是 |
proxy-frontend-max-connections | int | 允许连接 Proxy 的最大客户端数量,默认值 0 代表不限制。 | 0 | 是 |
proxy-mysql-default-version | String | Proxy 通过配置文件指定 MySQL 的版本号,默认版本:5.7.22。 只有 MySQL 需要配置,客户端识别数据库的协议版本。 | 5.7.22 | 否 |
proxy-default-port | String | Proxy 通过配置文件指定默认端口。 | 3307 | 否 |
proxy-netty-backlog | int | Proxy 通过配置文件指定默认netty back-log参数。 | 1024 | 否 |
proxy-frontend-database-protocol-type | String | Proxy 前端协议类型,支持 MySQL, PostgreSQL, openGauss | "" | 否 |
proxy-instance-type | String | Proxy 实例类型,可选项:Proxy、SphereEx:Proxy,Proxy 表示云上部署类型,SphereEx:Proxy 表示本地部署类型 | Proxy | 否 |
sql-show | boolean | 是否在系统日志中打印 SQL。 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 如果开启配置,日志将使用 Topic ShardingSphere-SQL ,系统日志级别是 INFO。 | false | 是 |
sql-simple | boolean | 是否在系统日志中打印简单风格的 SQL。 | false | 是 |
slow-query-log | boolean | 是否开启慢查询 TRUE/FALSE | false | 是 |
long-query-time | int | 慢查询阈值单位ms | 10 | 是 |
general-query-log | boolean | 是否开启全量日志(审计日志) TRUE/FALSE | false | 是 |
system-log-level | String | 当前计算节点(proxy)的系统日志等级 DEBUG、INFO、WARN、ERROR | INFO | 是 |
system-log-pattern | String | 当前计算节点(proxy)的系统日志格式 日志格式可参考Logback Layouts | [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n|是 | |
storage-node-heartbeat-interval-milliseconds | int | 用于配置存储节点状态收集间隔,单位毫秒。如果配置等于0,则关闭存储节点状态收集功能。 | 0 | 是 |
meta-data-consistency-enabled | boolean | 用于控制是否开启proxy的 DDL 和 RDL 一致性更新 | false | 是 |
proxy-meta-data-collector-enabled | boolean | 用于开启定时任务线程的元数据信息收集 | TRUE | 否 |
属性配置可以通过 DistSQL 在线修改。 其中支持动态修改的属性立即生效,不支持动态修改的属性在重启后生效。
配置示例 #
完整配置示例请参考:
#props:
# max-connections-size-per-query: 1
# kernel-executor-size: 16 # Infinite by default.
# proxy-frontend-flush-threshold: 128 # The default value is 128.
# proxy-hint-enabled: false
# sql-show: false
# check-table-metadata-enabled: false
# show-process-list-enabled: false
# # Proxy backend query fetch size. A larger value may increase the memory usage of ShardingSphere Proxy.
# # The default value is -1, which means set the minimum value for different JDBC drivers.
# proxy-backend-query-fetch-size: -1
# check-duplicate-table-enabled: false
# proxy-frontend-executor-size: 0 # Proxy frontend executor size. The default value is 0, which means let Netty decide.
# # Available options of proxy backend executor suitable: OLAP(default), OLTP. The OLTP option may reduce time cost of writing packets to client, but it may increase the latency of SQL execution
# # and block other clients if client connections are more than `proxy-frontend-executor-size`, especially executing slow SQL.
# proxy-backend-executor-suitable: OLAP
# proxy-frontend-max-connections: 0 # Less than or equal to 0 means no limitation.
# sql-federation-enabled: false
# # Available proxy backend driver type: JDBC (default), ExperimentalVertx
# proxy-backend-driver-type: JDBC
# proxy-mysql-default-version: 5.7.22 # In the absence of schema name, the default version will be used.
# proxy-default-port: 3307 # Proxy default port.
# proxy-netty-backlog: 1024 # Proxy netty backlog.