Overview
YugabyteDB uses configuration flags (also called gflags) to control various aspects of database operation. Flags can be set for different components:- yb-master - Master server flags for cluster coordination
- yb-tserver - Tablet server flags for data storage and processing
- yugabyted - Simplified deployment utility flags
Flag Types
YugabyteDB flags are categorized by their runtime behavior:| Flag Type | Description | Restart Required |
|---|---|---|
| RUNTIME | Can be changed at runtime using yb-admin | No |
| NON_RUNTIME | Requires server restart to take effect | Yes |
| AUTO | Auto-promoted flags for rolling upgrades | Varies |
| UNKNOWN | Stability not yet determined | Potentially |
| TEST | Used for testing only, not for production | N/A |
Setting Flags
Command Line
Set flags directly when starting a server:Configuration File
Use a flagfile to store all flags:Runtime Modification
For RUNTIME flags, use yb-admin:YugabyteDB Anywhere
If using YugabyteDB Anywhere, set flags through the Edit Flags feature in the UI.Common Flag Categories
General Server Configuration
Core Server Flags
Core Server Flags
Display version and build information, then exit.
Path to configuration file containing flags.Example:
--flagfile=/etc/yugabyte/master.confMaximum expected clock skew between nodes in microseconds.Default:
500000 (500ms)Component: yb-master, yb-tserverTime source for the database. Set to
clockbound for highly accurate time.Default: ""Valid values: "" (system), clockboundComponent: yb-master, yb-tserverNetworking Flags
Networking Flags
Comma-separated list of network addresses to bind for RPC.Default: Private IP of hostComponent: yb-master, yb-tserver
Public IP or DNS hostname for server-to-server communication.Default:
""Component: yb-master, yb-tserverDuration in milliseconds until cached DNS resolution expires.Default:
60000 (1 minute)Component: yb-master, yb-tserverPolicy for using private IPs:
never, zone, region.Default: neverComponent: yb-master, yb-tserverStorage Flags
Storage Flags
Comma-separated list of directories for data storage.Required: YesComponent: yb-master, yb-tserverExample:
/data/disk1,/data/disk2,/data/disk3Comma-separated list of directories for write-ahead logs.Default: Same as
--fs_data_dirsComponent: yb-master, yb-tserverSize of RocksDB block cache in bytes. -1 for automatic sizing.Default:
-1Component: yb-tserverRate limit for compaction and flush in bytes per second.Default:
256000000 (256 MB/s)Component: yb-tserverSize of RocksDB data blocks in bytes.Default:
32768 (32 KB)Component: yb-tserverMemory Flags
Memory Flags
Maximum memory limit in bytes. 0 uses percentage of system RAM.Default:
0Component: yb-master, yb-tserverPercentage of RAM to use when memory_limit_hard_bytes is 0.Default:
0.10 (10%)Component: yb-master, yb-tserverOptimize memory defaults for YSQL workloads.Default:
falseComponent: yb-master, yb-tserverLogging Flags
Logging Flags
Directory for log files.Default: Same as
--fs_data_dirsComponent: yb-master, yb-tserverMaximum log file size in megabytes.Default:
1800 (1.8 GB)Component: yb-master, yb-tserverMinimum log level: 0 (INFO), 1 (WARN), 2 (ERROR), 3 (FATAL).Default:
0Component: yb-master, yb-tserverWrite logs to stderr instead of files.Default:
falseComponent: yb-master, yb-tserverCluster Configuration
Cluster Configuration
Comma-separated list of master RPC addresses.Required: Yes (yb-master)Component: yb-masterExample:
10.0.0.1:7100,10.0.0.2:7100,10.0.0.3:7100Comma-separated list of master addresses for tablet server.Required: Yes (yb-tserver)Component: yb-tserver
Number of replicas for each tablet.Default:
3Valid range: 1-7 (odd numbers recommended)Component: yb-masterYSQL Configuration
YSQL Core Flags
YSQL Core Flags
Enable YSQL API.Default:
trueComponent: yb-master, yb-tserverComma-separated PostgreSQL configuration parameters.Component: yb-tserverExample:
max_connections=200,shared_buffers=2GBEnable YSQL authentication.Default:
falseComponent: yb-tserverPostgreSQL host-based authentication rules.Component: yb-tserver
YSQL Connection Management
YSQL Connection Management
Enable YSQL connection manager for connection pooling.Default:
falseComponent: yb-tserverPort for YSQL connection manager.Default:
5433Component: yb-tserverMaximum number of connection pools.Default:
10000Component: yb-tserverPerformance Tuning
Compaction Settings
Compaction Settings
Frequency in hours for scheduled full compaction. 0 disables.Default:
0Component: yb-tserverPercentage of obsolete keys to trigger automatic compaction.Default:
99Component: yb-tserverMinimum obsolete keys for automatic compaction.Default:
10000Component: yb-tserverRPC Queue Configuration
RPC Queue Configuration
Security
Encryption Flags
Encryption Flags
Enable SSL/TLS for client-to-server communication.Default:
falseComponent: yb-master, yb-tserverEnable SSL/TLS for node-to-node communication.Default:
falseComponent: yb-master, yb-tserverDirectory containing SSL certificates and keys.Default:
""Component: yb-master, yb-tserverAllow insecure connections when encryption is enabled.Default:
trueComponent: yb-tserverFlag Naming Conventions
YugabyteDB flags follow these naming patterns:- Component prefix:
master_*,tserver_*,ysql_*,cql_* - Feature area:
*_rpc_*,*_log_*,*_cache_*,*_compaction_* - Units:
*_ms(milliseconds),*_bytes,*_mb,*_usec(microseconds)
Best Practices
Production Deployments
- Use flagfiles for configuration management
- Document all custom flags and their purpose
- Test flag changes in staging before production
- Monitor impact after flag changes
- Version control your flagfiles
Performance Tuning
- Start with defaults and measure baseline performance
- Change one flag at a time to isolate impact
- Monitor metrics before and after changes
- Document performance improvements for future reference
Common Flag Configurations
Viewing Current Flags
To view all current flag values:See Also
- yb-master Configuration - Master server configuration
- yb-tserver Configuration - Tablet server configuration
- yugabyted Reference - yugabyted utility reference

