Apache ShardingSphere provides a wealth of system configuration properties, which users can configure through server.yaml
.
Name | Data Type | Description | Default | Dynamic Update |
---|---|---|---|---|
system-log-level (?) | String | System log output level, supports DEBUG, INFO, WARN and ERROR, the default level is INFO. | false | True |
sql-show (?) | boolean | Whether to print SQL in logs. Printing SQL can help developers quickly locate system problems. Logs contain the following contents: logical SQL, authentic SQL and SQL parsing result. If configuration is enabled, logs will use Topic ShardingSphere-SQL , and log level is INFO. |
false | True |
sql-simple (?) | boolean | Whether to print simple SQL in logs. | false | True |
kernel-executor-size (?) | int | Set the size of the thread pool for task processing. Each ShardingSphereDataSource uses an independent thread pool, and different data sources on the same JVM do not share thread pools. | infinite | False |
max-connections-size-per-query (?) | int | The maximum number of connections that a query request can use in each database instance. | 1 | True |
check-table-metadata-enabled (?) | boolean | Whether shard metadata is checked for structural consistency when the program is started and updated. | false | True |
proxy-frontend-flush-threshold (?) | int | Set the I/O refresh threshold for the number of transmitted data items in ShardingSphere-Proxy. | 128 | True |
proxy-hint-enabled (?) | boolean | Whether Hint is allowed in ShardingSphere-Proxy. Using Hint changes the Proxy’s threading model from IO multiplexing to a separate thread per request, reducing Proxy’s throughput. | false | True |
proxy-backend-query-fetch-size (?) | int | The number of rows of data obtained when the backend Proxy interacts with databases (using a cursor). A larger number may increase the occupied memory of ShardingSphere-Proxy. The default value of -1 indicates the minimum value for JDBC driver. | -1 | True |
proxy-frontend-executor-size (?) | int | The number of threads in the Netty thread pool of front-end Proxy. | 0 | False |
proxy-backend-executor-suitable (?) | String | Options: OLAP and OLTP. The OLTP option may reduce the time overhead when writing packets to the client, but if the number of client connections exceeds proxy-frontend-executor-size , especially with slow SQL, it can cause a longer delay to SQL execution and even block connections to other clients. |
OLAP | True |
proxy-frontend-max-connections (?) | int | The maximum number of clients that can be connected to Proxy. The default value of 0 indicates that there’s no limit. | 0 | True |
sql-federation-type (?) | String | SQL federation executor type, including: NONE, ORIGINAL, ADVANCED. | NONE | True |
proxy-mysql-default-version (?) | String | Proxy specifies the MySQL version through configuration files, and the default verison is 5.7.22. | 5.7.22 | False |
proxy-default-port (?) | String | Proxy specifies the default window through configuration files. | 3307 | False |
proxy-netty-backlog (?) | int | Proxy specifies the default netty back_log parameter through configuration files. | 1024 | False |
proxy-frontend-database-protocol-type (?) | String | Proxy front-end protocol type, supports MySQL, PostgreSQL, openGauss | "” | False |
Properties can be modified online through DistSQL#RAL. Properties that support dynamic change can take effect immediately. The other ones that do not support dynamic change take effect after a restart.
For a complete sample, please refer to server.yaml
in ShardingSphere’s repository:https://github.com/apache/shardingsphere/blob/aac0d3026e00575114701be603ec189a02a45747/shardingsphere-proxy/shardingsphere-proxy-bootstrap/src/main/resources/conf/server.yaml#L71-L93